private void plot_MouseDown(object sender, OxyMouseDownEventArgs e) { OxyPlot.ElementCollection <OxyPlot.Axes.Axis> axisList = myModel.Axes; OxyPlot.Axes.Axis X_Axis = null, Y_Axis = null; foreach (OxyPlot.Axes.Axis ax in axisList) { if (ax.Position == OxyPlot.Axes.AxisPosition.Bottom) { X_Axis = ax; } else if (ax.Position == OxyPlot.Axes.AxisPosition.Left) { Y_Axis = ax; } } DataPoint p = OxyPlot.Axes.Axis.InverseTransform(e.Position, X_Axis, Y_Axis); polynomialPoints?.Add(p); string toAddToListView = string.Empty; toAddToListView += "X: " + (int)p.X + " ; Y: " + (int)p.Y; toAddToListView += Environment.NewLine; polynomialPointsListView.Items.Add(toAddToListView); }
public static double GetXPositionFromMouseClickOnChart(object sender, MouseButtonEventArgs e) { var plotModel = (OxyPlot.Wpf.PlotView)sender; if (plotModel == null) { return(double.NaN); } OxyPlot.ElementCollection <OxyPlot.Axes.Axis> axisList = plotModel.Model.Axes; Axis xAxis = axisList.FirstOrDefault(ax => ax.Position == AxisPosition.Bottom); Axis yAxis = axisList.FirstOrDefault(ax => ax.Position == AxisPosition.Left); var relative = Mouse.GetPosition(plotModel); var position = xAxis.InverseTransform(relative.X, relative.Y, yAxis); return(position.X); }
private void Plot_OxyMouseDown(object s, OxyMouseDownEventArgs e) { OxyPlot.ElementCollection <OxyPlot.Axes.Axis> axisList = pv1.Model.Axes; Axis xaxis = null; Axis yaxis = null; foreach (OxyPlot.Axes.Axis ax in axisList) { if (ax.Position == AxisPosition.Bottom) { xaxis = ax; } else if (ax.Position == AxisPosition.Left) { yaxis = ax; } } x = Axis.InverseTransform(e.Position, xaxis, yaxis).X; y = Axis.InverseTransform(e.Position, xaxis, yaxis).Y; tbXCoor.Text = x.ToString(); tbYCoor.Text = y.ToString(); m.AddPoint(x, y); lbPointNr.Text = m.PointList.Count.ToString(); var s1 = new LineSeries() { Color = OxyColors.SkyBlue, MarkerType = MarkerType.Circle, MarkerSize = 6, MarkerStroke = OxyColors.White, MarkerFill = OxyColors.SkyBlue, MarkerStrokeThickness = 1.5, LineStyle = LineStyle.None, }; s1.Points.Add(new DataPoint(x, y)); pv1.Model.Series.Add(s1); pv1.Model.InvalidatePlot(true); }
private void oxy_plot_MouseDown(object sender, OxyMouseDownEventArgs ex) { OxyPlot.ElementCollection <OxyPlot.Axes.Axis> axisList = oxy_plot.Model.Axes; Axis X_Axis = axisList[0]; Axis Y_Axis = axisList[1]; foreach (OxyPlot.Axes.Axis ax in axisList) { if (ax.Position == AxisPosition.Bottom) { X_Axis = ax; } else if (ax.Position == AxisPosition.Left) { Y_Axis = ax; } } DataPoint p = OxyPlot.Axes.Axis.InverseTransform(ex.Position, X_Axis, Y_Axis); }