C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

C# グラフのX軸に、データ開始日を表示したい

[トピック内 1 記事 (1 - 1 表示)]  << 0 >>

■92802 / inTopicNo.1)  C# グラフのX軸に、データ開始日を表示したい
  
□投稿者/ kuronao (1回)-(2019/10/31(Thu) 11:19:59)

分類:[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>
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ