C# Chart 游标中心位置的设置(如何游标中心点落在数据点上)

Chart中 现有一组数据,如图所示:
在这里插入图片描述

需求:
设置游标,游标的中心点在图表对应的数据上;如下图所示:
在这里插入图片描述

思路:

  1. 先获取鼠标对应X轴的坐标值;

  2. 根据X的值,获取对应的Y值;

实现:

 double XVuale = Math.Round(chart1.ChartAreas[0].AxisX.PixelPositionToValue(e.X));       
 if (XVuale == -1 || XVuale > 24)
   return;//与X轴的坐标设置有关

 double[] y = this.chart1.Series[0].Points[int.Parse((XVuale - 1).ToString())].YValues;//显示指定X轴对应的Y轴坐标
 double YVuale = y.Length > 0 ? y[0] : 0;
 chart1.ChartAreas[0].CursorX.Position = XVuale;
 chart1.ChartAreas[0].CursorY.Position = YVuale;

补充:
1、文中的代码写在 Chart 的 MouseMove 事件中,代码中的 e 就来源于此;

2、获得鼠标在 Chart 中坐标的方法

  double XVuale = chart1.ChartAreas[0].AxisX.PixelPositionToValue(e.X);//获得鼠标在chart中的x轴坐标
  double YVuale = chart1.ChartAreas[0].AxisY.PixelPositionToValue(e.Y);//获得鼠标在chart中的y轴坐标

版权声明:本文为qq_32849497原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。