コード例 #1
0
        private static BoxPlotDataSeries <double, double> GetBoxSeries(IEnumerable <double> data)
        {
            var dataSeries = new BoxPlotDataSeries <double, double>();

            dataSeries.Append(data, data,
                              data.Select(x => x - 2.0),
                              data.Select(x => x - 1.0),
                              data.Select(x => x + 0.5),
                              data.Select(x => x + 1.5));

            return(dataSeries);
        }
コード例 #2
0
        public SeriesBindingViewModel()
        {
            var data = DataManager.Instance.GetSinewave(1.0, 0.5, PointsCount * 10, 5);

            var lineDataSeries = new XyDataSeries <double, double>();

            lineDataSeries.Append(data.XData.Select(d => d * 5), data.YData);

            IEnumerable <BoxPoint> boxData = GetBoxPlotData().ToArray();

            var boxDataSeries = new BoxPlotDataSeries <double, double>();

            boxDataSeries.Append(boxData.Select(x => x.XValue),
                                 boxData.Select(x => x.Median),
                                 boxData.Select(x => x.Minimum),
                                 boxData.Select(x => x.LowerQuartile),
                                 boxData.Select(x => x.UpperQuartile),
                                 boxData.Select(x => x.Maximum));


            EllipsePointMarker epm = new EllipsePointMarker
            {
                Width           = 9,
                Height          = 9,
                Fill            = Colors.Transparent,
                Stroke          = Colors.White,
                StrokeThickness = 2
            };

            RenderableSeriesViewModels = new ObservableCollection <IRenderableSeriesViewModel>()
            {
                new LineRenderableSeriesViewModel {
                    DataSeries = lineDataSeries, StyleKey = "LineSeriesStyle"
                },
                new XyScatterRenderableSeriesViewModel {
                    DataSeries = lineDataSeries, PointMarker = epm
                },
                new BoxPlotRenderableSeriesViewModel {
                    DataSeries = boxDataSeries
                }
            };
        }
コード例 #3
0
        public BoxPlotExampleView()
        {
            InitializeComponent();

            this.Loaded += (sender, args) =>
            {
                // Box data is a multi-dimensional table containing minimum, lower quartile, median, upper quartile, maximum Y values vs X
                IEnumerable <BoxPoint> boxData = GetBoxPlotData(10).ToArray();

                var boxDataSeries = new BoxPlotDataSeries <DateTime, double>();

                boxDataSeries.Append(boxData.Select(x => x.Date),
                                     boxData.Select(x => x.Median),
                                     boxData.Select(x => x.Minimum),
                                     boxData.Select(x => x.LowerQuartile),
                                     boxData.Select(x => x.UpperQuartile),
                                     boxData.Select(x => x.Maximum));

                boxSeries.DataSeries = boxDataSeries;
            };

            sciChart.ZoomExtents();
        }