UI 或查看图表数据的工具

UI or tool to review charts data

我正在构建一个软件来测试我的机器并从中收集数据。我的软件现在可以显示 7 个关于时间的信息(4 个聊天和 3 个位图)。然而,所有的数据都只能实时观察,如图所示,当我暂停计时器时,我所有的数据都丢失了。如何以录音的方式查看所有这些数据(4 个聊天和 3 个位图)?例如,我想有一个像电影播放器​​一样查看过去数据的栏,如图2所示。

我建议您将历史数据存储在 SQL 数据库中,设计如下所示:

重要的部分是用所有历史值精心设计 table,使用 IndicatorIDTime 的复合聚集索引。 SQL 服务器示例:

CREATE TABLE [PenData](
    [IndicatorID] smallint NOT NULL,
    [Time] datetime2(0) NOT NULL,
    [Value] real NULL
 CONSTRAINT [PK_Data] PRIMARY KEY CLUSTERED 
(
    [IndicatorID] ASC,
    [Time] ASC
))

MS Charts controls 中,您可以使用带有图表的滚动条来放大和缩小:

        chart1.ChartAreas[0].AxisX.ScaleView.Zoomable = true;
        chart1.ChartAreas[0].AxisX.ScrollBar.IsPositionedInside = false;
        chart1.ChartAreas[0].AxisX.ScrollBar.Enabled = true;
        chart1.ChartAreas[0].AxisX.ScrollBar.Size = 20;
        chart1.ChartAreas[0].AxisX.ScrollBar.BackColor = Color.LightGray;

因此,您在表单上创建了另一个控件,它控制从数据库加载哪些数据到图表(哪一天等)——就像您的播放控件——并且您可以允许用户根据需要进一步缩放加载的数据.在 Windows perfmon 应用程序中使用此功能。您也可以放大和缩小代码中的图表,例如按用户指定的时间范围。


如果你想像收集一样播放数据,你需要添加一个定时器来创建实时数据播放的感觉 - 假设你需要它,因为你需要动画图像,否则更好以交互方式显示它。

因此,您的操作与实时显示数据相同,但不是从传感器中获取值,而是从数据库中读取它们。

此处有一个 MS 图表示例:Need help on Problem in using c# .net 4.0 realtime chart in windows form application