|
分類:[C#]
2019/11/01(Fri) 10:57:47 編集(投稿者) 2019/11/01(Fri) 10:17:11 編集(投稿者)
<pre><pre>【開発環境】 ・Visual Studio 2015 ・C# ・Chartコントロールを使用 x1.Interval = 1; x1.IntervalType = DateTimeIntervalType.Months; を使ってます。
【課題】 @グラフのX軸に、データ開始日を表示したい。 例)データが2016/11/20〜2017/1/20としたとき、 X軸には、2016/11/20が表示。以後、2016/12/20、2017/1/20と表示
Aまた、2016/11/20が表示したあと。以後、2016/12/1、2017/1/1の表示が可能か
何かアドバイスがございましたら、教えていただけないでしょうか?
今まで試したことを簡単にまとめます。(ご参考程度です) 1.月1日よりデータ開始日を引いた結果をIntervaloffsetに設定。 月単位の軸ラベル付き x1.Interval=1; x1.IntervalType = DateTimeIntervalType..Months; データ開始日の軸ラベル付き x1.Intervaloffset=-12;・・・@ x1.IntervalOffsetType = DateTimeIntervalType.Days;
@の数値を出すために以下の計算を行いました。 ・Intervaloffset=0の時に2016/12/1と2017/1/が表示。 2016/12/1 - 2016/11/30 = 1なので Intervaloffset=-1にしたところ、2016/11/30が表示できました。 ・同じ要領で 2016/12/1 - 2016/11/20 = 11なので I ntervaloffset=-11をセットしたところ、2016/11/21が表示したためズレが発生。 (-12をセットしたら11/20が表示) ・どこがおかしいか調べたところ、2016/11/29がうまくいってませんでした。 2016/12/1 - 2016/11/29 = 2なので ・Intervaloffset=-2にしたところ、なぜか2016/11/30が表示。 原因はわかりません。 ・ちなみに2016/10/20〜2016/11/20で試したところ、 Intervaloffset=-1は10/31で正しく表示しましたが、 Intervaloffset=-2は10/29が表示され、10/30が表示されませんでした。 正しく表示されないため、Intervaloffsetは使えない状況です。
2.Minimumの使用 Minimum = new DateTime(2016, 11, 20).ToOADate();を使って、 表示を試しましたが、Interval使用しているせいか、表示できませんでした
※「Windows Forms Samples Environment for Microsoft Chart Controls」見ながら グラフを作成しています。見落としがありましたら、教えていただけると助かります。 </pre></pre>
|