VB 2008 .NET FRAMEWORK 3.5 MSCHART - FASTLINE 图表类型
是否可以让 MS Chart 控件包含 20,000 个数据点,但只显示最后 100 个?
我知道我可以从我的数据表中选择最后 100 个并将其用作数据源。
Chart1.DataSource = cMs2.dsData.Tables("readings").Select(wFilter, wSort).Take(100)
那不是我想要的。
我知道我可以用最后 100 个数据点填充数组或集合并将其用作数据源。
Chart1.Series("readings").Points.DataBindXY(colCtr, colReadings)
那不是我想要的。
我需要做两件事中的一件:
手动添加数据点,并且只能显示刚进入的最后 100 个或最后 1000 个数据点。这必须在不重新填充图表的情况下完成。只显示完整数据点集的一部分。
wSample = wSample + 1 Chart1.Series("readings").Points.AddXY(wSample, wReading) Chart1.Series("readings").SHOWONLYTHELAST100DATAPOINTSWITHOUTCLEARING
使用 a 初始化具有一定数量总读数的图表
databind
,然后手动添加一个新数据点,同时删除最旧的数据点。例如,用 100 个数据点初始化图表,然后添加一个新数据点,删除第一个数据点,让我们回到 100。(我成功地做到了这一点,只是图表的行为不像我预期的那样。图表增长,在“已删除”数据点所在的位置保持空白/空。我做了 chart.update 但它没有刷新它。)请注意,我可以花更多时间来初始化图表(clear/populate)
,我没有随着每个新数据点的出现,是时候做这件事了。wSample = wSample + 1 Chart1.Series("readings").Points.AddXY(wSample, wReading) If Chart1.Series("readings").Points.Count > 100 Then Chart1.Series("readings").Points.RemoveAt(0) Chart1.Update() End If
注意:执行一个导致我必须清除并重新绑定数据以处理添加单个数据点的过程会导致我出现问题,因为它花费的时间太长。我只是在寻找最快、最有效的方法来处理这个问题。感谢您抽出时间来阅读...!