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に変換可能なものであると想定)。
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">
お役に立てれば!