我正在寻找将MSChart的y轴设置为午夜到午夜,以常规时间格式(即 - “1:30 AM”)或军事时间。我想通过使用ChartArea.AxisY.LabelStyle = new LabelStyle(){Format =“HH:mm”}可以指定y轴格式,但无法弄清楚设置最小值/最大值的方式。需要在MSChart上的Y轴上设置时间范围
有没有人雇佣过这种格式?
我正在寻找将MSChart的y轴设置为午夜到午夜,以常规时间格式(即 - “1:30 AM”)或军事时间。我想通过使用ChartArea.AxisY.LabelStyle = new LabelStyle(){Format =“HH:mm”}可以指定y轴格式,但无法弄清楚设置最小值/最大值的方式。需要在MSChart上的Y轴上设置时间范围
有没有人雇佣过这种格式?
有几件事情你需要做的才能正常工作。
MSChart接受DateTime对象作为Y值。你可以这样做对每个数据点的仿真持续时间(假设它们的时间跨度或东西转换成时间跨度):
TimeSpan testSpan = TimeSpan.FromMinutes(5);
YourChart.Series(0).Points.AddY(new DateTime(testSpan.Ticks))
这将其转换成从CLR时间的开头开始日期时间(如1/1/0001 12:05:00 AM)。
然后在Y轴上使用标签格式“HH:mm”。
<asp:ChartArea Name="VsChartArea">
<AxisY Minimum="0">
<LabelStyle Format="HH:mm" />
</AxisY>
</asp:ChartArea>
这应该使它看起来像这样:
要设置自定义的时间间隔(5分钟):
<AxisY Minimum="0" IntervalType="Minutes" Interval="5">
希望这有助于!
我发现了一种解决方法,因为我永远无法使格式与DateTime值本身一起工作。
我最终将我的Y轴数据更改为整数格式,范围从0到2400(实际上是2359)来表示军事时间。然后,我将LabelStyle.Format更新为“00:00”,它将我的整数值渲染为军事时间。
对我而言。希望这可以帮助别人。
这是我在本网站上看到的最直接的答案之一,谢谢!尽管我已经实施了一种解决方法,但我一定会在将来参考这个答案。 – Marc 2010-10-24 18:34:42