Search code examples
wpflineoxyplot

Get every Y value from every line based on a X value


Using OxyPlot library, I have a LineSeries with a max count of 8. Given a X value (got from a left mouse click), how can I get (and show it in the legend) the corresponding Y value for each line?


Solution

  • You can get the point value using the MouseDown method which you attach to your line series found here in the MouseDownEventHitTestResult method

    var s1 = new LineSeries();
    s1.MouseDown += (s, e) =>
        {
            model.Subtitle = "Y value of nearest point in LineSeries: " +
                Math.Round(e.HitTestResult.NearestHitPoint.Y);
            model.InvalidatePlot(false);
        };
    

    There doesn't appear to be any way to change much of whats in the legend area as that's just a reflection of the graph titles. You could display it to the subtitle as in the example or draw an annotation on the screen.

    They have a whole bunch of examples you can look through for ideas here