日期:2014-05-17  浏览次数:21087 次

Winform Chart 通过X值取得曲线的Y值


如图,红线位置取得X轴的日期时间,通过X轴的值如何取得两个 Series的对应Y轴的值呢?从图上看蓝线的Y值为2,粉红色线的Y值为1,代码里应该如何获得呢?


private void chart_CursorPositionChanged(object sender, CursorEventArgs e)
{
    SetPosition(e.Axis, e.NewPosition);
}

private void SetPosition(Axis axis, double position)
{
    if (double.IsNaN(position))
        return;
    if (axis.AxisName == AxisName.X)
    {
        /// X 轴对应时间
        DateTime dateTimeX = DateTime.FromOADate(position);
        /// 这里就不会写了,因为红线所点的位置并不是Series集合中一个Point,那如何取得 Series[0] 和 Series[1]的Y值呢?
        //double d = chart.Series[0].Points[Convert.ToInt32(e.ChartArea.CursorX.Position)].YValues[0];
    }
}


------解决方案--------------------
两个SeriesPoint之间的话,X就没有特定的值啊,怎么根据X的值取Y的值。