1

序章

私は TChart コンポーネントを使用していますが、オプションがややこしく、必要なものを見つけるのが難しいと感じています。

グラフの左軸には最小 0 と最大 5000 があり、下軸には最小 0 と最大 52 (1 年の週数) があります。

私のチャートには、作成したレコードの値に基づいて入力された 2 つのシリーズがあり、実行時に編集できます。これまでのところ、すべてがうまく機能しています。

問題

いくつかのランダムな値で満たされたチャートの一部の下の画像を見てください:

ここに画像の説明を入力

そのようなオプションが存在するかどうかはわかりませんが、値が追加されていない 4 週目以降に赤い実線があることに注意してください。

グラフに 0 未満の値をプロットしたくないので、この例では 4 週目以降は線がなくなるはずです (4 週目以降は値が -1 に設定されていることが確認できます)。

1 週目から 4 週目は、値が 0 よりも大きく、線の上にプロットされているため、この下の赤い線は表示されませんが、これにより問題がもう少し明確になるはずです。

では、チャートが 0 未満の値をプロット / 描画するのを防ぐにはどうすればよいですか?

どこかに簡単なオプションがあるに違いないと確信しています。TChart コンポーネントに慣れていないので、あるとしても見つけることができません。

4

2 に答える 2

5

シリーズに値を追加するときに、値を null として追加する可能性があります。

これにより、それらが表示されなくなります。

Ken は、null 値で囲まれた単一の値を処理するのが難しい状況であると言っています。別のシリーズ タイプFastLineを選択して、線だけでなく点も表示すると、うまくいく場合があります。

FastLineシリーズでギャップを表示するには、次のように設定します。

Series1.IgnoreNulls := False;

そして、ゼロ未満の値を区別するには:

if (y < 0) then
  Series1.AddNullXY(x, y, '')
else
  Series1.AddXY(x, y, '');
于 2013-02-28T22:30:26.930 に答える