我是图表的新手,并且有一个看起来如此的折线图。
垂直线是光标所在的位置,通过mousemove而不是鼠标点击进行更新。
正如标题所示,我想要做的是在垂直线和“数据线”相交的点处访问Y值。
我已经尝试了这个 - Get Y value of series from the X Cursor position where a ChartArea is clicked on但是除非我遗漏了一些它不起作用,否则它会返回系列中的第一个或最后一个值,具体取决于您使用的数据点。
我尝试过hittestresult,如果你“触摸”数据线本身,它似乎才有效。
有什么想法吗?
答案 0 :(得分:1)
由于您没有向我们展示任何代码并且没有回答我的问题,我只能假设您的图表没有有效的,即数字x值。
这意味着x值都是0
并且不能用于任何事情:既不用于设置缩放范围,也不用于格式化轴或其他标签,也不用于查找{{1}在x位置。
这可称为“隐式索引”。结果类似于显式索引图表,这是将DataPoints
的{{1}}设置为true的结果:IsXValueIndexed
排成一行,所有行都显示在相同的距离。
通常不是人们想要的,我真的建议您通过添加Series
来修复它,不是这样的:
DataPoints
但也许是这样的:
DataPoints
然后linked answer就可以了。
但是,只是为了说明 解决方法是如何找到索引图表中最近的两个点。
请注意,它使用一个函数(实际上是两个)来计算内部绘图位置的像素矩形。您可以找到它们here或here ..:
for (int i = 0; i < count; i++) chart1.Series[0].Points.AddY(someYValue);
它会起作用,但你真的应该纠正添加数据点的方式!