我有一个ASP图表,它使用计时器刷新更新面板,模拟“实时”图形(基本上是“创建实时图表”下的http://www.4guysfromrolla.com/articles/121609-1.aspx指南)。我添加了允许您动态添加系列到图表的功能,但新系列始终从x轴上的0点开始。当图表上的数据已经“滴答”一段时间时,这是一个问题,因为新系列从0开始并且“向左移位”。如何将该系列向右移动以使其x轴时间与其他“旧”系列的x轴时间对齐?
这是一个例子的图片 - 首先添加蓝线,然后在几秒钟后添加黄线。
答案 0 :(得分:0)
我自己想出了这个问题。这是我做的:
if(chart.Series.Count > 0)
{
/*Get the most recent Y-val to fill in empty spaces (if you fill with 0,
*you'll end up with a "leap" on the first visible data point)*/
double hiddenData = getMostRecentValue(newSeriesName);
foreach (DataPoint dp in chart.Series[0].Points)
{
newSeries.AddXY(dp.XValue, hiddenData);
newSeries.Last().Color = Color.Transparent;
}
}
//etc. add newSeries to chart
基本上,我为新系列中不存在的所有数据点添加“虚拟值”,然后使用Color.Transparent隐藏它们。
希望这有助于其他人!