【问题标题】:Display Chart (Histogram) Bars with real time data显示带有实时数据的图表(直方图)条形图
【发布时间】:2015-08-19 21:28:54
【问题描述】:

我正在构建一个简单的 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);

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

我想实现允许应用程序用户实时查看图表是如何填充的功能。

例如,如果我将系列放在 for 循环中,则只有最终输出会显示在图表控件中:

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

我希望用户看到柱状图随着每次循环迭代而变化。现在,当我使用上面的方法时,应用程序只需遍历循环并在图表中显示最终结果。

谢谢,

【问题讨论】:

    标签: c# .net winforms charts real-time


    【解决方案1】:

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

    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
    }
    

    【讨论】:

    • 我试过了。它似乎不起作用。感谢您的意见。
    【解决方案2】:

    实际上解决方案很简单,我有点尴尬,因为我没有早点弄清楚。我所要做的就是在循环中添加chartPractice.Refresh();

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

    我希望这个答案能帮助其他可能正在开发需要此功能的应用程序的人。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-15
      • 2021-12-25
      • 1970-01-01
      相关资源
      最近更新 更多