系列在ASP图表上“向左移动”

时间:2012-06-27 19:53:06

标签: asp.net asp.net-ajax

我有一个ASP图表,它使用计时器刷新更新面板,模拟“实时”图形(基本上是“创建实时图表”下的http://www.4guysfromrolla.com/articles/121609-1.aspx指南)。我添加了允许您动态添加系列到图表的功能,但新系列始终从x轴上的0点开始。当图表上的数据已经“滴答”一段时间时,这是一个问题,因为新系列从0开始并且“向左移位”。如何将该系列向右移动以使其x轴时间与其他“旧”系列的x轴时间对齐?

这是一个例子的图片 - 首先添加蓝线,然后在几秒钟后添加黄线。

http://content.screencast.com/users/johnkemnetz/folders/Jing/media/c3c954fc-66c1-4d4d-a272-3e4b4f211e5a/ex.png

1 个答案:

答案 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隐藏它们。
希望这有助于其他人!