显示图表(直方图)柱与实时数据

本文关键字:实时 数据 直方图 显示图 | 更新日期: 2023-09-27 17:53:50

我正在构建一个简单的WinForms (c#)应用程序,用于在图表中显示一些数据分布。我在我的应用程序中使用。net图表控制。我的表单上只有一个图表和按钮控件,我想填充图表onclick事件。我在onclick事件中使用了这样的内容:

chartPractice.Series["Distribution"].Points.AddXY("1", 150);
chartPractice.Series["Distribution"].Points.AddXY("2", 11);
chartPractice.Series["Distribution"].Points.AddXY("3", 250);

可以很好地填充图中的值。

我想实现这样的功能,允许应用程序的用户看到图形是如何实时填充的

例如,如果我将series放入For循环中,则在图表控件中只显示最终输出:

for (int i = 0; i < 900; i++)
{
    chartPractice.Series["Distribution"].Points.AddXY("1", i);
}

我希望用户看到直方图条随着每次循环迭代而变化。现在,当我使用上面的方法时,应用程序只是通过循环并在图中显示最终结果。

谢谢你,

显示图表(直方图)柱与实时数据

实际上这个解决方案很简单,我有点尴尬,我没有早点想出它。我所要做的就是在循环中添加chartPractice.Refresh();

它强制应用程序在每次迭代后重新绘制图形。

我希望这个答案能帮助到那些正在开发需要这个功能的应用程序的人。

我认为你应该让你的线程在几毫秒内休眠

for (int i = 0; i < 900; i++)
{
chartPractice.Series["Distribution"].Points.AddXY("1", i);
System.Threading.Thread.Sleep(100); //each loop will sleep 100 millisecond before continue
}