【发布时间】:2011-03-19 04:48:55
【问题描述】:
我有一个 MSChart,它包含一系列数据元素
foreach(Int16 element in data)
{
this.view.chart.Series["Series1"].Points.AddXY((double)i/100, (double) element/41);
}
this.view.chart.ChartAreas[0].AxisX.Mimimum=0;
this.view.chart.ChartAreas[0].AxisX.Interval = 1;
this.view.chart.ChartAreas[0].AxisX.ScaleView.Zoom(0,10);
this.view.chart.ChartAreas[0].AxisX.ScaleView.SmallScrollSize = 10;
这会在 10 秒帧中查看图表,因此应该从 0 到 10,然后从 10 到 20,依此类推。 现在奇怪的是,当我第一次启动图表时,它正确地显示了 0 到 10 时间范围内的数据。但是当我拳头单击向前滚动到下一个 10 秒帧时,它显示 9.994 到 19.994,然后 19.994 到29.994.
现在,如果我一直滚动回到开头(即 0 前 10 位),然后再次向前滚动它就可以了!从 0 - 10、10 - 20、20 - 30 开始,但是当我到达图表的末尾时,又回到了令人讨厌的双精度值(例如 69.994):S
我真的不知道为什么会这样,请谁能帮帮我
PS。这是折线图不是条形图
【问题讨论】:
-
不知道是否有帮助,但尝试使用
yourSeries.XValueType = ChartValueType.Int32 -
试过了,但同样的事情仍然发生,也感谢你的帮助:)我也尝试使用 RoundAxisValue() 仍然没有区别:(
-
能否提供工作代码sn-p,因为ChartAreas[0] 没有Minimum 字段
-
您好,我已经更新了代码,现在应该可以使用了,非常感谢您抽出宝贵的时间,非常感谢您的帮助:)
-
无法重现您的问题,但尝试不将 (i/100) 转换为
double