コード例 #1
0
 public HistogramBins(double low = 100, double width = 10, int count = 10)
 {
     Low = low;
     Width = width;
     Bins = new int[count + 2];
     BinNames = new string[count + 2];
     _points = new ObservableCollection<Point>();
     for (var i = 0; i < Bins.Length; i++)
     {
         _points.Add(new Point(i, 0));
         if (i == 0) BinNames[i] = string.Format("<{0:0.##}", Low);
         else if (i == Bins.Length - 1) BinNames[i] = string.Format(">{0:0.##}", Low + (Width * count));
         else BinNames[i] = string.Format("{0:0.##}", Low + (Width / 2) + (Width * i));
     }
     BarSeriesViewModel = new BarSeriesViewModel
     {
         SeriesData = _points,
         ItemToPoint = i => (Point)i,
         StrokeThickness = 1,
     };
     _propertyObserver = new PropertyObserver<HistogramBins>(this)
         .RegisterHandler(p => p.DataSetName, () => { BarSeriesViewModel.SeriesName = DataSetName; });
     _updatePointsOnAdd = true;
 }
コード例 #2
0
 void CreateBottomLeftSeries()
 {
     const double rangeStart = 1;
     const int rangeEnd = 10;
     const double rangeStep = 1;
     BottomLeft.XAxis.AxisType = AxisType.Enumerated;
     BottomLeft.YAxis.AxisType = AxisType.Logarithmic;
     BottomLeft.XAxis.AxisTicks = new ObservableCollection<DataAxisTick>
     {
         new DataAxisTick(-1, null, false),
         new DataAxisTick(0, "Zero", false),
         new DataAxisTick(1, "One", false),
         new DataAxisTick(2, "Two", false),
         new DataAxisTick(3, "Three", false),
         new DataAxisTick(4, "Four", false),
         new DataAxisTick(5, "Five", false),
         new DataAxisTick(6, "Six", false),
         new DataAxisTick(7, "Seven", false),
         new DataAxisTick(8, "Eight", false),
         new DataAxisTick(9, "Nine", false),
         new DataAxisTick(10, "Ten", false),
         new DataAxisTick(11, null, false),
     };
     //BottomLeft.YAxis.DataRange.Update(0, 2);
     BottomLeft.XAxis.DataRange.Update(-1, 11);
     BottomLeft.YAxis.DataRange.Update(0.1, 10);
     var redSeries = new BarSeriesViewModel
     {
         SeriesData = Range(rangeStart, rangeEnd, rangeStep).Select(x => Tuple.Create(x, x / 2.0)).ToObservableList(),
         ItemToPoint = i => new Point(((Tuple<double, double>)i).Item1, ((Tuple<double, double>)i).Item2),
         StrokeThickness = 1,
         SeriesName = "y = x / 2",
         Fill = new SolidColorBrush(Color.FromArgb(128, 255, 0, 0)),
     };
     var greenSeries = new BarSeriesViewModel
     {
         SeriesData = Range(rangeStart, rangeEnd, rangeStep).Select(x => Tuple.Create(x, x)).ToObservableList(),
         ItemToPoint = i => new Point(((Tuple<double, double>)i).Item1, ((Tuple<double, double>)i).Item2),
         StrokeThickness = 1,
         SeriesName = "y = x",
         Fill = new SolidColorBrush(Color.FromArgb(128, 0, 255, 0)),
     };
     var blueSeries = new BarSeriesViewModel
     {
         SeriesData = Range(rangeStart, rangeEnd, rangeStep).Select(x => Tuple.Create(x, x * 1.5)).ToObservableList(),
         ItemToPoint = i => new Point(((Tuple<double, double>)i).Item1, ((Tuple<double, double>)i).Item2),
         StrokeThickness = 1,
         SeriesName = "y = 1.5x",
         Fill = new SolidColorBrush(Color.FromArgb(128, 0, 0, 255)),
     };
     var cyanSeries = new BarSeriesViewModel
     {
         SeriesData = Range(rangeStart, rangeEnd, rangeStep).Select(x => Tuple.Create(x, x * 2)).ToObservableList(),
         ItemToPoint = i => new Point(((Tuple<double, double>)i).Item1, ((Tuple<double, double>)i).Item2),
         StrokeThickness = 1,
         SeriesName = "y = 2x",
         Fill = new SolidColorBrush(Color.FromArgb(128, 0, 255, 255)),
     };
     var magentaSeries = new BarSeriesViewModel
     {
         SeriesData = Range(rangeStart, rangeEnd, rangeStep).Select(x => Tuple.Create(x, x * 2.5)).ToObservableList(),
         ItemToPoint = i => new Point(((Tuple<double, double>)i).Item1, ((Tuple<double, double>)i).Item2),
         StrokeThickness = 1,
         SeriesName = "y = 2.5x",
         Fill = new SolidColorBrush(Color.FromArgb(128, 255, 0, 255)),
     };
     var orangeSeries = new BarSeriesViewModel
     {
         SeriesData = Range(rangeStart, rangeEnd, rangeStep).Select(x => Tuple.Create(x, x * 3)).ToObservableList(),
         ItemToPoint = i => new Point(((Tuple<double, double>)i).Item1, ((Tuple<double, double>)i).Item2),
         StrokeThickness = 1,
         SeriesName = "y = 3x",
         Fill = new SolidColorBrush(Color.FromArgb(128, 255, 165, 0)),
     };
     var blackSeries = new BarSeriesViewModel
     {
         SeriesData = Range(rangeStart, rangeEnd, rangeStep).Select(x => Tuple.Create(x, x * 3.5)).ToObservableList(),
         ItemToPoint = i => new Point(((Tuple<double, double>)i).Item1, ((Tuple<double, double>)i).Item2),
         StrokeThickness = 1,
         SeriesName = "y = 3.5x",
         Fill = new SolidColorBrush(Color.FromArgb(128, 0, 0, 0)),
     };
     var stackedSeries = new StackedBarSeriesViewModel();
     stackedSeries.BarSeriesCollection.Add(greenSeries);
     stackedSeries.BarSeriesCollection.Add(redSeries);
     stackedSeries.BarSeriesCollection.Add(blueSeries);
     stackedSeries.BarSeriesCollection.Add(cyanSeries);
     stackedSeries.BarSeriesCollection.Add(magentaSeries);
     stackedSeries.BarSeriesCollection.Add(orangeSeries);
     stackedSeries.BarSeriesCollection.Add(blackSeries);
     BottomLeft.DataSeriesCollection.Add(stackedSeries);
     //BottomLeft.DataSeriesCollection.Add(redSeries);
     //BottomLeft.DataSeriesCollection.Add(blueSeries);
     //BottomLeft.YAxis.VisibleRange.Add(0, 10);
     BottomLeft.XAxisTicks = null;
 }
コード例 #3
0
 void AddSeriesBottomRightHandler(EventToCommandArgs args)
 {
     const double rangeStart = 1;
     const int rangeEnd = 10;
     const double rangeStep = 1;
     var blackSeries = new BarSeriesViewModel
     {
         SeriesData = Range(rangeStart, rangeEnd, rangeStep).Select(x => Tuple.Create(x, x * 3.5)).ToObservableList(),
         ItemToPoint = i => new Point(((Tuple<double, double>)i).Item1, ((Tuple<double, double>)i).Item2),
         StrokeThickness = 1,
         SeriesName = "y = 3.5x",
         Fill = Brushes.Black,
     };
     ((GroupedBarSeriesViewModel)BottomRight.DataSeriesCollection.First()).BarSeriesCollection.Add(blackSeries);
 }