OSDN Git Service

sa
authorunknown <hskwk@.(none)>
Wed, 18 Aug 2010 09:55:17 +0000 (18:55 +0900)
committerunknown <hskwk@.(none)>
Wed, 18 Aug 2010 09:55:17 +0000 (18:55 +0900)
dev4/Pages/BinomialSolver.xaml
dev4/Pages/BinomialSolver.xaml.cs

index c2be161..e08c197 100644 (file)
@@ -36,6 +36,8 @@
                                </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
index d589370..84c26e8 100644 (file)
@@ -21,12 +21,11 @@ namespace PsychlopsSilverlight4.Pages
                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
@@ -52,10 +51,10 @@ namespace PsychlopsSilverlight4.Pages
                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
@@ -67,9 +66,6 @@ namespace PsychlopsSilverlight4.Pages
                        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
@@ -104,12 +100,12 @@ namespace PsychlopsSilverlight4.Pages
                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
@@ -144,12 +140,15 @@ namespace PsychlopsSilverlight4.Pages
                }\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
@@ -158,7 +157,7 @@ namespace PsychlopsSilverlight4.Pages
                                                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
@@ -167,7 +166,7 @@ namespace PsychlopsSilverlight4.Pages
                                                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
@@ -176,14 +175,14 @@ namespace PsychlopsSilverlight4.Pages
                                                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
@@ -201,7 +200,7 @@ namespace PsychlopsSilverlight4.Pages
 \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