Esempio n. 1
0
        private void RemoveChartData(DrawnChartData drawnChartDataToRemove)
        {
            drawnChartDataToRemove.Observer.Dispose();
            drawnChartDataList.Remove(drawnChartDataToRemove);

            plotView.Model.Series.Remove((Series)drawnChartDataToRemove.ChartDataSeries);
        }
Esempio n. 2
0
        /// <summary>
        /// Defines the area taken up by the visible chart data based on the provided chart data.
        /// </summary>
        /// <param name="chartData">The data to determine the visible extent for.</param>
        /// <returns>The area definition.</returns>
        /// <exception cref="ArgumentException">Thrown when <paramref name="chartData"/> is
        /// not part of the drawn chart data.</exception>
        private Extent CreateEnvelopeForVisibleSeries(ChartData chartData)
        {
            if (chartData is ChartDataCollection collection)
            {
                return(CreateEnvelopeForVisibleSeries(collection));
            }

            DrawnChartData drawnChartData = drawnChartDataList.FirstOrDefault(dmd => dmd.ChartData.Equals(chartData));

            if (drawnChartData == null)
            {
                throw new ArgumentException($@"Can only zoom to {nameof(ChartData)} that is part of this {nameof(ChartControl)}s drawn {nameof(chartData)}.",
                                            nameof(chartData));
            }

            var extent = new Extent();

            ChartData chartDataDrawn = drawnChartData.ChartData;

            if (chartDataDrawn.IsVisible && chartDataDrawn.HasData)
            {
                extent.ExpandToInclude(CreateExtentFor(drawnChartData.ChartDataSeries as XYAxisSeries));
            }

            return(extent);
        }
Esempio n. 3
0
        private void DrawChartData(ChartData chartData)
        {
            IChartDataSeries chartDataSeries = ChartDataSeriesFactory.Create(chartData);

            var drawnChartData = new DrawnChartData
            {
                ChartData       = chartData,
                ChartDataSeries = chartDataSeries
            };

            drawnChartData.Observer = new Observer(() =>
            {
                drawnChartData.ChartDataSeries.Update();
                plotView.InvalidatePlot(true);
            })
            {
                Observable = chartData
            };

            drawnChartDataList.Add(drawnChartData);

            plotView.Model.Series.Add((Series)chartDataSeries);
        }