我希望将 MSChart 的 y 轴设置为午夜到午夜,采用常规时间格式(即“上午 1:30”)或军用时间。我发现我可以使用 ChartArea.AxisY.LabelStyle = new LabelStyle() { Format = "HH:mm" } 指定 y 轴格式,但无法弄清楚将最小值/最大值设置为什么。
有人用过这种格式吗?
我希望将 MSChart 的 y 轴设置为午夜到午夜,采用常规时间格式(即“上午 1:30”)或军用时间。我发现我可以使用 ChartArea.AxisY.LabelStyle = new LabelStyle() { Format = "HH:mm" } 指定 y 轴格式,但无法弄清楚将最小值/最大值设置为什么。
有人用过这种格式吗?
我找到了一种解决方法,因为我永远无法使格式与 DateTime 值一起本地工作。
我最终将我的 Y 轴数据更改为整数格式,范围从 0 到 2400(实际上是 2359)来表示军事时间。然后我将 LabelStyle.Format 更新为“00:00”,这将我的整数值呈现为军事时间。
对我来说是的。希望这对其他人有帮助。
您需要做一些事情才能使其正常工作。
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">
希望这可以帮助!
If you use the Military time, do you notice that your scale is nolonger linear?