2010-10-06 146 views
0

我正在寻找将MSChart的y轴设置为午夜到午夜,以常规时间格式(即 - “1:30 AM”)或军事时间。我想通过使用ChartArea.AxisY.LabelStyle = new LabelStyle(){Format =“HH:mm”}可以指定y轴格式,但无法弄清楚设置最小值/最大值的方式。需要在MSChart上的Y轴上设置时间范围

有没有人雇佣过这种格式?

回答

0

有几件事情你需要做的才能正常工作。

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> 

这应该使它看起来像这样:

Duration example

要设置自定义的时间间隔(5分钟):

<AxisY Minimum="0" IntervalType="Minutes" Interval="5"> 

希望这有助于!

+0

这是我在本网站上看到的最直接的答案之一,谢谢!尽管我已经实施了一种解决方法,但我一定会在将来参考这个答案。 – Marc 2010-10-24 18:34:42

0

我发现了一种解决方法,因为我永远无法使格式与DateTime值本身一起工作。

我最终将我的Y轴数据更改为整数格式,范围从0到2400(实际上是2359)来表示军事时间。然后,我将LabelStyle.Format更新为“00:00”,它将我的整数值渲染为军事时间。

对我而言。希望这可以帮助别人。

0

如果您使用军事时间,您是否注意到您的刻度线不再是线性的?

+0

我注意到轴显示无效的军事时间,如14:75,如果这就是你的意思。 – Marc 2010-12-15 06:04:31

相关问题