Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

OxyPlot get clicked Position in PlotView/PlotModel

Tags:

c#

plot

wpf

oxyplot

I'm trying to get the clicked position in my PlotView or PlotModel. But I just get some window-screen points not concerning any values in my PlotModel.

The question OxyPlot get clicked point is about clicking on LineSeries, not in any poisition of my plot.

Any ideas?

like image 325
a.w. Avatar asked Feb 08 '23 12:02

a.w.


1 Answers

Use InverseTransformation with your MouseEvent.Position and your axis.

private void MyPlotModel_MouseDown(object sender, OxyMouseDownEventArgs ex)
{
    OxyPlot.ElementCollection<OxyPlot.Axes.Axis> axisList = MyPlotModel.Axes;

    Axis xAxis = axisList.FirstOrDefault(ax => ax.Position == AxisPosition.Bottom);
    Axis yAxis = axisList.FirstOrDefault(ax => ax.Position == AxisPosition.Left);

    DataPoint dataPointp = OxyPlot.Axes.Axis.InverseTransform(ex.Position, xAxis, yAxis);

    // Do stuff with dataPointp ... 
}
like image 79
a.w. Avatar answered Feb 11 '23 18:02

a.w.