需要在MSChart上设置Y轴上的时间范围

时间:2010-10-06 22:55:56

标签: formatting mschart

我希望将MSChart的y轴设置为午夜到午夜,以常规时间格式(即 - “1:30 AM”)或军事时间。我想我可以使用ChartArea.AxisY.LabelStyle = new LabelStyle(){Format =“HH:mm”}指定y轴格式,但无法弄清楚要设置最小/最大值的内容。

有没有人使用过这种格式?

3 个答案:

答案 0 :(得分:0)

我发现了一种解决方法,因为我从来没有能够使用DateTime值使格式化本地工作。

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

对我而言。希望这有助于其他人。

答案 1 :(得分:0)

要使其正常工作,您需要做一些事情。

MSChart接受DateTime对象作为Y值。您可以通过为每个数据点执行此操作来模拟持续时间(假设它们是时间跨度或可转换为TimeSpan的内容):

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">

希望这有帮助!

答案 2 :(得分:0)

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