0

タイマーを使用して更新パネルを更新し、「リアルタイム」グラフをシミュレートするASPチャートがあります(基本的に、「リアルタイムチャートの作成」のhttp://www.4guysfromrolla.com/articles/121609-1.aspxのガイド)。 。チャートに系列を動的に追加できる機能を追加しましたが、新しい系列は常にx軸の0点から始まります。これは、新しいシリーズが0から始まり、左に「シフト」して表示されるため、しばらくの間「ティック」されているデータがチャートにすでに存在する場合に問題になります。そのシリーズを右にシフトして、x軸の時間を他の「古い」シリーズの時間に合わせるにはどうすればよいですか?

これが例の写真です。最初に青い線が追加され、数秒後に黄色の線が追加されました。

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

4

1 に答える 1

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 を使用してそれらを非表示にします。
これが他の人に役立つことを願っています!

于 2012-07-05T14:37:33.443 に答える