</Setter.Value>\r
</Setter>\r
</Style>\r
+ <Style TargetType="toolkit:LineSeries">\r
+ </Style> \r
</controls:ChildWindow.Resources>\r
\r
<Grid x:Name="LayoutRoot" Margin="2">\r
<toolkit:Chart x:Name="chart1" Title="" Width="240" Height="220" Canvas.Left="0" Canvas.Top="0"\r
FontSize="10">\r
<toolkit:Chart.Series>\r
- <toolkit:ScatterSeries x:Name="Fitted"\r
+ <toolkit:LineSeries x:Name="Fitted"\r
Title="Fitted"\r
ItemsSource="{Binding}"\r
IndependentValueBinding="{Binding c_abscissa}"\r
DependentValueBinding="{Binding c_ratio}"\r
>\r
+ <toolkit:LineSeries.DataPointStyle>\r
+ <Style TargetType="Control">\r
+ <Setter Property="Template" Value="{x:Null}"/>\r
+ </Style>\r
+ </toolkit:LineSeries.DataPointStyle>\r
\r
- <toolkit:ScatterSeries.DependentRangeAxis>\r
+ <toolkit:LineSeries.DependentRangeAxis>\r
<toolkit:LinearAxis Title="" ShowGridLines="False" Orientation="Y" Minimum="0" Maximum="1">\r
</toolkit:LinearAxis>\r
- </toolkit:ScatterSeries.DependentRangeAxis>\r
- </toolkit:ScatterSeries>\r
+ </toolkit:LineSeries.DependentRangeAxis>\r
+ </toolkit:LineSeries>\r
<toolkit:ScatterSeries x:Name="Raw"\r
Title="Fitted"\r
ItemsSource="{Binding}"\r
Psychlops.Solver.Constants.Func3 func3;\r
\r
\r
- struct WholeData\r
- {\r
- public ObservableCollection<Data> data {get; set;}\r
- public ObservableCollection<Data> fitted {get; set;}\r
- }\r
- WholeData data;\r
+ public ObservableCollection<Data> data = new ObservableCollection<Data>();\r
+ public ObservableCollection<Data> fitted = new ObservableCollection<Data>();\r
+ public ObservableCollection<Data> data_ { get { return data; } }\r
+ public ObservableCollection<Data> fitted_ { get { return fitted; } }\r
+\r
\r
public BinomialSolver(Psychlops.Solver.Constants.Func1 f)\r
{\r
public void initialize()\r
{\r
dataGrid.RowHeight = 20;\r
- data.data = Data.GetDataList();\r
- dataGrid.ItemsSource = data.data;\r
+ data = Data.GetDataList();\r
+ dataGrid.ItemsSource = data;\r
\r
- chart1.DataContext = data.data;\r
+ chart1.DataContext = data;\r
solver = new Psychlops.Solver.BinomialLikelihood();\r
}\r
public class Data\r
public int negative { get; set; }\r
public double ratio { get { return (double)(positive) / (positive+negative); } }\r
\r
- // A null value for IsSubscribed can indicate \r
- // "no preference" or "no response".\r
- public Boolean? IsSubscribed { get; set; }\r
\r
public Data(double absc, int posi, int nega)\r
{\r
private void CalcButton_Click(object sender, RoutedEventArgs e)\r
{\r
var ber = new Psychlops.Solver.BernoulliProcess();\r
- ber.elems = new Psychlops.Solver.BernoulliProcess.Data[data.data.Count];\r
+ ber.elems = new Psychlops.Solver.BernoulliProcess.Data[data.Count];\r
int i = 0;\r
\r
minimum = Double.PositiveInfinity;\r
maximum = Double.NegativeInfinity;\r
- foreach (var d in data.data)\r
+ foreach (var d in data)\r
{\r
if (d.abscissa < minimum) { minimum = d.abscissa; }\r
if (d.abscissa > maximum) { maximum = d.abscissa; }\r
}\r
private void reFunc()\r
{\r
- data.fitted = new ObservableCollection<Data>();\r
- foreach (var d in data.data)\r
+ Data dd;\r
+ fitted = new ObservableCollection<Data>();\r
+ foreach (var d in data)\r
{\r
- data.fitted.Add(d);\r
+ dd = new Data(d.abscissa, d.positive, d.negative);\r
+ dd.c_abscissa = minimum;\r
+ dd.c_ratio = 0.0;\r
+ fitted.Add(dd);\r
}\r
- Data dd;\r
switch (func_selected)\r
{\r
case 1:\r
dd = new Data(0, 0, 0);\r
dd.c_abscissa = j;\r
dd.c_ratio = func1(j, solver.champ[0]);\r
- data.fitted.Add(dd);\r
+ fitted.Add(dd);\r
}\r
break;\r
case 2:\r
dd = new Data(0, 0, 0);\r
dd.c_abscissa = j;\r
dd.c_ratio = func2(j, solver.champ[0], solver.champ[1]);\r
- data.fitted.Add(dd);\r
+ fitted.Add(dd);\r
}\r
break;\r
case 3:\r
dd = new Data(0, 0, 0);\r
dd.c_abscissa = j;\r
dd.c_ratio = func3(j, solver.champ[0], solver.champ[1], solver.champ[2]);\r
- data.fitted.Add(dd);\r
+ fitted.Add(dd);\r
}\r
break;\r
}\r
\r
\r
chart1.DataContext = null;\r
- chart1.DataContext = data.fitted;\r
+ chart1.DataContext = fitted;\r
\r
OrdinateSlider.Maximum = 1.0;\r
OrdinateSlider.Minimum = 0.0;\r
\r
private void AddConditionButton_Click(object sender, RoutedEventArgs e)\r
{\r
- data.data.Add(new Data(0, 0, 0));\r
+ data.Add(new Data(0, 0, 0));\r
this.UpdateLayout();\r
}\r
\r