0

.net 4.0 System.Web.UI.DataVisualisationライブラリを使用してグラフを作成していますが、奇妙な動作に気づきました。

最初に、次のように、それぞれがX軸に同じ値を持つ2つのデータポイントを持つシリーズを作成しています。

Dim series As New Series()
series.Points.Add(New DataPoint(0, 10))
series.Points.Add(New DataPoint(0, 15))
'.. add to chart and render

このグラフをブラウザでレンダリングすると、X軸に2つのポイントが表示され、どちらも同じラベルが付いています。

ただし、次のように、x軸の別の値に別のデータポイントを追加すると、次のようになります。

Dim series As New Series()
series.Points.Add(New DataPoint(0, 10))
series.Points.Add(New DataPoint(0, 15))
series.Points.Add(New DataPoint(1, 14))
'.. add to chart and render

次に、チャートはX軸上の2つのポイント(0と1)のみをレンダリングし、最初の2つの値(x軸の値0)は垂直に接続されます。

なぜこの振る舞いが違うのか誰もが知っていますか?どちらの動作も実際には許容できますが、そのうちの1つを選択できるようにしたいと思います...

ありがとう!

サム

4

1 に答える 1

2

データポイントのx値として0を入力すると、シリーズが自動的に計算します。したがって、すべてのx値を0としてグラフを作成すると、シリーズはこれを「x値は重要ではなく、すべてのアイテムをx軸の個別の値としてレンダリングします」と解釈します。ただし、0以外のx値を追加するとすぐに、シリーズは指定したx値の使用を開始します。

これは、msdnで次のように見事に説明されています。

The X-value can be zero, or you can set this explicitly.

問題を解決するには、最初のシリーズを次のように定義する必要があります。

Dim series As New Series()
series.Points.Add(New DataPoint(1, 10))
series.Points.Add(New DataPoint(1, 15))
'.. add to chart and render

これにより、データポイントが正しくレンダリングされます。

于 2012-05-31T15:06:04.297 に答える