这是我在图表控件上绘制内容的代码:
private Random random = new Random();
int gg = 0;
private void plotChart1()
{
columns[0] = 0.01*gg++.ToString();
columns[1] = random.Next(1, 50).ToString();
chart1.Series[0].Points.AddXY(columns[0], columns[1]);
chart1.ResetAutoValues();
chart1.Invalidate();
}
private void timer1_Tick(object sender, EventArgs e)
{
plotChart1();
}
轴会自动更新。我可以通过MouseClick事件或CursorPositionChanged事件获取点击点的坐标。两者都给了我相同的结果。
Y值是正确的,但点击点的X值给出了点数,而不是它的值。如果查看上面的代码:在计时器的第5个刻度处,将0.05写入X轴。如果我点击那个点,我得到5.这就像点的索引值。我怎样才能得到任何一点的X值?
答案 0 :(得分:0)
我已经找到了问题所在。当我通过调试检查chart1.Series[0].Points
的Xvalue和Yvalue属性时,我注意到所有Xvalue都为零,尽管x值显示在图表上。我已将双值而不是字符串传递给chart1.Series[0].Points.AddXY()
方法。它解决了。
作为旁注:chart1.Series[0].IsXValueIndexed value
应设为false
。