在PlotView/PlotModel中获取点击位置的OxyPlot方法

4

我想要获取我PlotViewPlotModel中点击的位置。但是我只能得到一些窗口屏幕上的点,而与我的PlotModel中的任何值无关。

这个问题OxyPlot get clicked point是关于点击LineSeries,而不是在我的图表中任何位置。

有什么想法吗?

1个回答

8

使用InverseTransformation函数与您的MouseEvent.Position和轴(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 ... 
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接