【发布时间】:2014-02-10 04:24:18
【问题描述】:
抱歉,无法在此处找到更适合我的问题的标题。我在我的项目中使用 MS Chart 控件从每秒生成 4 个值的源绘制实时值。 X 轴是生成值的时间,Y 轴是值本身。我正在为每个变量动态添加一个新系列。所有变量都是由用户一个一个手动添加的,然后会为它创建一个系列。
基本部分似乎正在工作,除了图表在不同时间绘制来自不同系列的值,即使这些值是同时生成的。下图显示了确切的问题:
如您所见,底部的列表是我正在绘制的值列表。它显示值及其在 (hh:mm:ss.ms) 处生成的时间
当我绘制图表区域中显示的这些值时,这就是我得到的。查看所有系列的最新值的位置(用红色箭头标记)。最新的值是在不同的时间,即使它们都是同时生成的。每个系列似乎都有一个单独的 X 轴。我预计最新的 Y 值应该绘制在相同的 X 值上,并且应该显示在图表的最右侧。更像是最底部的系列正在显示。这是创建的第一个系列。每次只有第一个创建的系列可以正常工作,而后面的系列由于某种原因会滞后。
Chart, share X axis between different series 看起来与我的问题类似,但没有得到答复。
Chart Multiple series different length generate duplicate x axis 似乎是我遇到的确切问题,但不同之处在于 - 我正在绘制实时图表。添加新数据点以标记点是否为空后,我无法遍历每个系列。这将是很多开销。一些谷歌搜索建议对每个系列使用 InsertEmptyPoints() 以匹配所有 X 轴。 MS Chart 示例代码也解释了使用此方法,但我不确定何时/何时使用此方法。如果我在创建系列之后但在添加数据点之前使用它 - 代码会崩溃。我尝试过这样的事情:
_chart.Series.Add(series);
_chart.DataManipulator.InsertEmptyPoints(250, IntervalType.Milliseconds, name);
我在这里做错了吗?感谢您提供的任何帮助。
【问题讨论】: