在C#图表中插入数据系列的间断点

4
我有几个数据系列在图表上绘制。这是跨越数小时的记录数据。然而,偶尔会出现30分钟没有记录数据的情况。这导致图表在记录停止前的最后一个样本和记录恢复时的第一个样本之间绘制一条线。
这可能会让突然出现的数据变化看起来很误导人。最好显示在此期间没有记录数据。
是否有办法告诉系列不要在两个点之间绘制数据?因此它仍将是一个系列,但中间有一个断点。
2个回答

1
如果您正在寻找 .Net 的 Microsoft 图表控件,您可以添加一个空数据点。添加或创建 DataPoint 并将 IsEmpty 属性设置为 true。
请注意您必须 配置 系列以显示空数据点。

谢谢回复。那么您建议我在想要断开的间隙中插入一个空点吗?问题是我的 Series.Points 是空的 - 可能是因为我正在使用 chart.DataSource = table.DefaultView 设置数据。 - Mark
@Mark:尝试使用DataBound事件。它也可以用于过滤或排序数据点:http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.basedataboundcontrol.databound.aspx - HCL
非常抱歉 - 你说得很对。我需要在数据绑定后执行此操作。现在,我可以插入一个设置了 IsEmpty 的点 - 它的工作方式正是我想要的。谢谢! - Mark

0
除了@HCL的答案之外,我认为您必须在系列本身上设置此属性,以便显示或不显示缺失点(例如当Y值为double.NaN时):
series.IsXValueIndexed = true; //这允许不绘制缺失点
来自MSDN

谢谢您的回复。根据我的理解,这将仅填补缺失数据的空白。这正确吗? - Mark
@Mark:它将根据您需要关闭或打开间隙。从上面的MSDN文章中引用:例如,假设系列中有三个(3)数据点,其X值为1、2和4。 如果此属性为false,则在标记为“3”的X轴位置处缺少一个数据点。 但是,如果将此属性设置为true,则这三个数据点将按顺序绘制在1、2和4点,并且不会有缺失的数据点。 “3”标记的X轴位置不会出现在图表上。 - scrat.squirrel
好的。谢谢你的回答。我之前没有听说过这个功能,所以将来会记住它。然而,在这种情况下,我希望能清楚地表明有缺失的数据 - 所以保留空白是有益的。 - Mark

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接