0

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

有人用过这种格式吗?

4

3 回答 3

0

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

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

对我来说是的。希望这对其他人有帮助。

于 2010-10-08T17:35:37.500 回答
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>

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

持续时间示例

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

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

希望这可以帮助!

于 2010-10-22T22:34:48.200 回答
0

If you use the Military time, do you notice that your scale is nolonger linear?

于 2010-12-11T00:12:31.377 回答