0

我正在使用 .net 4.0 System.Web.UI.DataVisualisation 库创建一个图表,并注意到一个奇怪的行为。

首先,我创建了一个包含两个数据点的系列,每个数据点在 X 轴上具有相同的值,如下所示:

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 轴上得到两个点,两个点都具有相同的标签。

但是,当我在 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 轴上渲染两个点(0 和 1),并且前两个值(在 x 轴值 0 上)是垂直连接的!

任何人都知道为什么这种行为不同?任何一种行为都是可以接受的,但我希望能够选择其中一种......

谢谢!

山姆

4

1 回答 1

2

如果您输入 0 作为数据点的 x 值,Series 将为您计算它。因此,如果您创建一个所有 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 回答