protected override void RemoveSignal(OxyPlot.Series.Series series) { if (series == null) { return; } PlotSignalModel signal = (PlotSignalModel)series.Tag; //this.paneModel.Signals.Remove(signal); PlotModel.Series.Remove(series); OxyPlot.Series.LineSeries lax = series as OxyPlot.Series.LineSeries; if (lax != null) { PlotModel.Axes.Remove(lax.YAxis); } if (SelectedSeries == series) { SelectedSeries = null; } PlotModel.InvalidatePlot(false); }
/// <summary> /// Synchronizes the properties. /// </summary> /// <param name="series">The series.</param> protected override void SynchronizeProperties(OxyPlot.Series.Series series) { base.SynchronizeProperties(series); var s = (OxyPlot.Series.ItemsSeries)series; s.ItemsSource = this.ItemsSource; }
/// <summary> /// Synchronizes the properties. /// </summary> /// <param name="series">The series.</param> protected override void SynchronizeProperties(OxyPlot.Series.Series series) { base.SynchronizeProperties(series); var s = (OxyPlot.Series.BoxPlotSeries)series; s.Fill = Fill.ToOxyColor(); s.LineStyle = LineStyle; s.MedianPointSize = MedianPointSize; s.OutlierSize = OutlierSize; s.OutlierType = OutlierType; s.OutlierOutline = (OutlierOutline ?? Enumerable.Empty <Point>()).Select(point => point.ToScreenPoint()).ToArray(); s.ShowBox = ShowBox; s.ShowMedianAsDot = ShowMedianAsDot; s.Stroke = Stroke.ToOxyColor(); s.StrokeThickness = StrokeThickness; s.WhiskerWidth = WhiskerWidth; if (Items != null) { s.Items.Clear(); foreach (var item in Items) { s.Items.Add((OxyPlot.Series.BoxPlotItem)item); } } }
/// <summary> /// Synchronizes the properties. /// </summary> /// <param name="series">The series.</param> protected override void SynchronizeProperties(OxyPlot.Series.Series series) { base.SynchronizeProperties(series); var s = (OxyPlot.Series.StairStepSeries)series; s.VerticalLineStyle = this.VerticalLineStyle; s.VerticalStrokeThickness = this.VerticalStrokeThickness; }
protected override void PlotModel_MouseDown(object sender, OxyMouseDownEventArgs e) { base.PlotModel_MouseDown(sender, e); if (e.Handled) { return; } if (e.ClickCount == 1) { OxyPlot.Series.Series ser = PlotModel.GetSeriesFromPoint(e.Position, 20); SelectedSeries = ser; } Axis xAxis, yAxis; PlotModel.GetAxesFromPoint(e.Position, out xAxis, out yAxis); if (xAxis != null && yAxis != null) { SelectedSeries = null; } else if (xAxis == null && yAxis != null && e.ChangedButton == OxyMouseButton.Left && e.ClickCount > 1 && PlotModel.Series.Count > 0) { ShowRangeDialog(yAxis); } else if (xAxis != null && yAxis == null && e.ChangedButton == OxyMouseButton.Left && e.ClickCount > 1 && PlotModel.Series.Count > 0) { ShowRangeDialog(xAxis); } }
/// <summary> /// Synchronizes the properties of this object with the underlying series object. /// </summary> /// <param name="series">The series.</param> protected override void SynchronizeProperties(OxyPlot.Series.Series series) { base.SynchronizeProperties(series); var s = (OxyPlot.Series.PieSeries)series; s.Stroke = Stroke.ToOxyColor(); s.StrokeThickness = StrokeThickness; s.Diameter = Diameter; s.InnerDiameter = InnerDiameter; s.StartAngle = StartAngle; s.AngleSpan = AngleSpan; s.AngleIncrement = AngleIncrement; s.LegendFormat = LegendFormat; s.OutsideLabelFormat = OutsideLabelFormat; s.InsideLabelColor = InsideLabelColor.ToOxyColor(); s.InsideLabelFormat = InsideLabelFormat; s.InsideLabelPosition = InsideLabelPosition; s.AreInsideLabelsAngled = AreInsideLabelsAngled; s.TickDistance = TickDistance; s.TickRadialLength = TickRadialLength; s.TickHorizontalLength = TickHorizontalLength; s.TickLabelDistance = TickLabelDistance; s.ExplodedDistance = ExplodedDistance; s.LabelField = LabelField; s.ValueField = ValueField; s.ColorField = ColorField; s.IsExplodedField = IsExplodedField; }
/// <summary> /// Synchronizes the properties. /// </summary> /// <param name="series">The series.</param> protected override void SynchronizeProperties(OxyPlot.Series.Series series) { base.SynchronizeProperties(series); var s = (OxyPlot.Series.BoxPlotSeries)series; s.Fill = this.Fill.ToOxyColor(); s.LineStyle = this.LineStyle; s.MedianPointSize = this.MedianPointSize; s.OutlierSize = this.OutlierSize; s.OutlierType = this.OutlierType; s.OutlierOutline = this.OutlierOutline.ToScreenPointArray(); s.ShowBox = this.ShowBox; s.ShowMedianAsDot = this.ShowMedianAsDot; s.Stroke = this.Stroke.ToOxyColor(); s.StrokeThickness = this.StrokeThickness; s.WhiskerWidth = this.WhiskerWidth; if (this.ItemsSource == null) { s.Items.Clear(); foreach (var item in this.Items) { s.Items.Add((OxyPlot.Series.BoxPlotItem)item); } } }
/// <summary> /// Synchronizes the properties. /// </summary> /// <param name="series">The series.</param> protected override void SynchronizeProperties(OxyPlot.Series.Series series) { base.SynchronizeProperties(series); var s = (OxyPlot.Series.TwoColorLineSeries)series; s.Limit = this.Limit; s.Color2 = this.Color2.ToOxyColor(); }
/// <summary> /// Synchronizes the properties. /// </summary> /// <param name="series">The series.</param> protected override void SynchronizeProperties(OxyPlot.Series.Series series) { base.SynchronizeProperties(series); var s = (OxyPlot.Series.ItemsSeries)series; // TODO: BarSeriesManager gets very unhappy when this is not initialised (i.e. empty collection): easier to fix in Core? s.ItemsSource = Items; }
/// <summary> /// Synchronizes the properties. /// </summary> /// <param name="series">The series.</param> protected override void SynchronizeProperties(OxyPlot.Series.Series series) { base.SynchronizeProperties(series); var s = (OxyPlot.Series.XYAxisSeries)series; s.XAxisKey = this.XAxisKey; s.YAxisKey = this.YAxisKey; }
/// <summary> /// Synchronizes the properties. /// </summary> /// <param name="series">The series.</param> protected override void SynchronizeProperties(OxyPlot.Series.Series series) { base.SynchronizeProperties(series); var s = (OxyPlot.Series.ThreeColorLineSeries)series; s.LimitLo = this.LimitLo; s.ColorLo = this.ColorLo.ToOxyColor(); s.LimitHi = this.LimitHi; s.ColorHi = this.ColorHi.ToOxyColor(); }
/// <summary> /// Synchronizes the properties. /// </summary> /// <param name="series">The series.</param> protected override void SynchronizeProperties(OxyPlot.Series.Series series) { base.SynchronizeProperties(series); var s = (OxyPlot.Series.TwoColorAreaSeries)series; s.Fill = Fill.ToOxyColor(); s.Fill2 = Fill2.ToOxyColor(); s.MarkerFill2 = MarkerFill2.ToOxyColor(); s.MarkerStroke2 = MarkerStroke2.ToOxyColor(); }
/// <summary> /// The synchronize properties. /// </summary> /// <param name="series"> /// The series. /// </param> protected override void SynchronizeProperties(OxyPlot.Series.Series series) { base.SynchronizeProperties(series); var s = series as OxyPlot.Series.AreaSeries; s.DataFieldX2 = this.DataFieldX2; s.DataFieldY2 = this.DataFieldY2; s.ConstantY2 = this.ConstantY2; s.Fill = this.Fill.ToOxyColor(); s.Reverse2 = this.Reverse2; }
/// <summary> /// Synchronizes the properties. /// </summary> /// <param name="series">The series.</param> protected override void SynchronizeProperties(OxyPlot.Series.Series series) { base.SynchronizeProperties(series); var s = (OxyPlot.Series.DataPointSeries)series; s.ItemsSource = this.ItemsSource; s.DataFieldX = this.DataFieldX; s.DataFieldY = this.DataFieldY; s.CanTrackerInterpolatePoints = this.CanTrackerInterpolatePoints; s.Mapping = this.Mapping; }
/// <summary> /// Synchronizes the properties. /// </summary> /// <param name="s">The series.</param> protected virtual void SynchronizeProperties(OxyPlot.Series.Series s) { s.Background = this.Background.ToOxyColor(); s.Title = this.Title; s.TrackerFormatString = this.TrackerFormatString; s.TrackerKey = this.TrackerKey; s.TrackerFormatString = this.TrackerFormatString; s.IsVisible = this.Visibility == Visibility.Visible; s.Font = this.FontFamily.ToString(); s.TextColor = this.Foreground.ToOxyColor(); }
/// <summary> /// Synchronizes the properties. /// </summary> /// <param name="series">The series.</param> protected override void SynchronizeProperties(OxyPlot.Series.Series series) { base.SynchronizeProperties(series); var s = (OxyPlot.Series.LinearBarSeries)series; s.BarWidth = BarWidth; s.FillColor = FillColor.ToOxyColor(); s.StrokeColor = StrokeColor.ToOxyColor(); s.StrokeThickness = StrokeThickness; s.NegativeFillColor = NegativeFillColor.ToOxyColor(); s.NegativeStrokeColor = NegativeStrokeColor.ToOxyColor(); }
/// <summary> /// Synchronizes the properties. /// </summary> /// <param name="s">The series.</param> protected virtual void SynchronizeProperties(OxyPlot.Series.Series s) { s.Background = Background.ToOxyColor(); s.Title = Title; s.RenderInLegend = RenderInLegend; s.TrackerFormatString = TrackerFormatString; s.TrackerKey = TrackerKey; s.TrackerFormatString = TrackerFormatString; s.IsVisible = IsVisible; s.Font = FontFamily.ToString(); s.TextColor = Foreground.ToOxyColor(); }
/// <summary> /// The synchronize properties. /// </summary> /// <param name="series"> /// The series. /// </param> protected override void SynchronizeProperties(OxyPlot.Series.Series series) { base.SynchronizeProperties(series); var s = (OxyPlot.Series.HeatMapSeries)series; s.Data = this.Data ?? new double[0, 0]; s.X0 = this.X0; s.X1 = this.X1; s.Y0 = this.Y0; s.Y1 = this.Y1; }
/// <summary> /// Synchronizes the properties. /// </summary> /// <param name="series">The series.</param> protected override void SynchronizeProperties(OxyPlot.Series.Series series) { base.SynchronizeProperties(series); var s = (OxyPlot.Series.TwoColorAreaSeries)series; s.Fill = Fill.ToOxyColor(); s.Fill2 = Fill2.ToOxyColor(); s.MarkerFill2 = MarkerFill2.ToOxyColor(); s.MarkerStroke2 = MarkerStroke2.ToOxyColor(); s.Limit = Limit; s.Dashes2 = Dashes2?.ToArray(); s.LineStyle2 = LineStyle2; }
/// <summary> /// Synchronizes the properties. /// </summary> /// <param name="series">The series.</param> protected override void SynchronizeProperties(OxyPlot.Series.Series series) { base.SynchronizeProperties(series); if (this.ItemsSource == null) { var s = (OxyPlot.Series.BarSeriesBase <T>)series; s.Items.Clear(); foreach (T item in this.Items) { s.Items.Add(item); } } }
private void UpdateSeries() { foreach (var series in _viewModel.ChartSeries) { try { series.DataSource.Data.CollectionChanged -= Data_CollectionChanged; } catch { } Series plotSeries = ConvertSeries(series); _plotModel.Series.Add(plotSeries); series.DataSource.Data.CollectionChanged += Data_CollectionChanged; } }
/// <summary> /// The synchronize properties. /// </summary> /// <param name="series"> /// The series. /// </param> protected override void SynchronizeProperties(OxyPlot.Series.Series series) { base.SynchronizeProperties(series); var s = series as OxyPlot.Series.ScatterSeries; if (s != null) { s.MarkerFill = this.MarkerFill.ToOxyColor(); s.MarkerStroke = this.MarkerStroke.ToOxyColor(); s.MarkerStrokeThickness = this.MarkerStrokeThickness; s.MarkerType = this.MarkerType; s.MarkerSize = this.MarkerSize; s.DataFieldX = this.DataFieldX; s.DataFieldY = this.DataFieldY; s.DataFieldSize = this.DataFieldSize; s.DataFieldValue = this.DataFieldValue; s.DataFieldTag = this.DataFieldTag; s.ItemsSource = this.ItemsSource; s.BinSize = this.BinSize; s.Mapping = this.Mapping; s.MarkerOutline = this.MarkerOutline; s.ColorAxisKey = this.ColorAxisKey; } }
private Series ConvertSeries(ChartSeriesViewModel series) { Series newSeries = null; var valueSeries = series.GetScaleForProperty(series.ValueMemberPath); var labelSeries = series.GetScaleForProperty(series.LabelMemberPath); switch (series.SeriesType) { case (ChartSeriesType.Column): { newSeries = new ColumnSeries { ValueField = series.ValueMemberPath, ItemsSource = series.DataSource.Data, FillColor = valueSeries.Color.ToOxyColor(), StrokeColor = valueSeries.Color.ToOxyColor(), YAxisKey = valueSeries.Name, XAxisKey = labelSeries.Name, }; break; } case (ChartSeriesType.Line): { newSeries = new LineSeries { ItemsSource = series.DataSource.Data, DataFieldX = series.XMemberPath, DataFieldY = series.YMemberPath, MarkerType = MarkerType.Circle, Color = valueSeries.Color.ToOxyColor(), MarkerFill = valueSeries.Color.ToOxyColor(), YAxisKey = valueSeries.Name, XAxisKey = labelSeries.Name, }; break; } case (ChartSeriesType.Spline): { newSeries = new LineSeries { ItemsSource = series.DataSource.Data, DataFieldX = series.XMemberPath, DataFieldY = series.YMemberPath, MarkerType = MarkerType.Circle, Color = valueSeries.Color.ToOxyColor(), MarkerFill = valueSeries.Color.ToOxyColor(), Smooth = true, YAxisKey = valueSeries.Name, XAxisKey = labelSeries.Name, }; break; } case (ChartSeriesType.Area): { newSeries = new AreaSeries { ItemsSource = series.DataSource.Data, DataFieldX = series.XMemberPath, DataFieldY = series.YMemberPath, Color = valueSeries.Color.ToOxyColor(), Fill = valueSeries.Color.ToOxyColor(), MarkerFill = valueSeries.Color.ToOxyColor(), YAxisKey = valueSeries.Name, XAxisKey = labelSeries.Name, }; break; } case (ChartSeriesType.SplineArea): { newSeries = new AreaSeries { ItemsSource = series.DataSource.Data, DataFieldX = series.XMemberPath, DataFieldY = series.YMemberPath, Color = valueSeries.Color.ToOxyColor(), Fill = valueSeries.Color.ToOxyColor(), MarkerFill = valueSeries.Color.ToOxyColor(), Smooth = true, YAxisKey = valueSeries.Name, XAxisKey = labelSeries.Name, }; break; } case (ChartSeriesType.Bubble): { newSeries = new ScatterSeries { ItemsSource = series.DataSource.Data, DataFieldX = series.XMemberPath, DataFieldY = series.YMemberPath, DataFieldSize = series.RadiusMemberPath, MarkerFill = valueSeries.Color.ToOxyColor(), MarkerType = MarkerType.Circle, YAxisKey = valueSeries.Name, XAxisKey = labelSeries.Name, }; break; } case (ChartSeriesType.StepLine): { newSeries = new StairStepSeries { ItemsSource = series.DataSource.Data, DataFieldX = series.XMemberPath, DataFieldY = series.YMemberPath, Color = valueSeries.Color.ToOxyColor(), YAxisKey = valueSeries.Name, XAxisKey = labelSeries.Name, }; break; } default: { return(null); } } newSeries.Title = series.Name; return(newSeries); }