我正在尝试使用WinForm Chart控件创建动态更新的直方图。在表单加载期间,我使用此循环将直方图数据范围中的所有点设置为0:
for (double i = 0; i <= UInt16.MaxValue; i++) {
chart2.Series[0].Points.AddXY(i, 0);
}
从测量设备接收数据后,我通过以下代码将Y值增加1:
Invoke((MethodInvoker)delegate {
int index = packet.Data.Max();
chart2.Series[0].Points[index].YValues[0]+=1;
chart2.Refresh();
chart2.Update();
logTextBox.AppendText(index.ToString() +"\n");
});
新值显示在文本框中,但它们不会出现在图表上,图表也不会以任何方式更改。
我做错了什么?如何正确更新数据点的Y值?