こんにちは。今回もよろしくお願いいたします。
前提・実現したいこと
VisualStudioにてローカルで動作するフォームアプリケーションの開発をしています。
DataTable型のデータを参照し、Chartクラスを使用してグラフを作成しました。
グラフ内の横軸は、MONTHで設定しています。(下記画像参照)
このMONTHのフォーマットが年度+月(2512など)のため、折れ線グラフで表示させると、年をまたいだ瞬間に、間隔がかなり空いてしまい期待する表示になりません。
数字的には100ほど離れることになるので、グラフの表示は確かにそうなるのですが・・・
期待するグラフ表示は下図のようなものになります。Excelで作成しました。
等間隔にて横軸を設定する方法をご教示いただきたく思います。
おそらく何かプロパティのような物が存在すると想定していますが、MSのリファレンスでは
確認できませんでした。
該当のソースコード
C#
1//グラフを描画する関数。 2//引数には、DataTable型の変数を格納(SQLiteにて取得したデータ) 3 private void test(DataTable dt) 4 { 5 // clear 6 chart1.Series.Clear(); 7 chart1.ChartAreas.Clear(); 8 chart1.Titles.Clear(); 9 10 Title title1 = new Title("Title1"); 11 12 // series 13 Random rdm = new Random(); 14 Series seriesLine = new Series(); 15 seriesLine.ChartType = SeriesChartType.Line; 16 seriesLine.LegendText = "Legend:Line"; 17 seriesLine.BorderWidth = 2; 18 seriesLine.MarkerStyle = MarkerStyle.Circle; 19 seriesLine.MarkerSize = 12; 20 21 var list = dt.AsEnumerable().ToList(); 22 list.ForEach(item => seriesLine.Points.Add(new DataPoint(Convert.ToDouble(item.ItemArray[3]), Convert.ToDouble(item.ItemArray[5])))); 23 24 25 26 // chartarea 27 ChartArea area1 = new ChartArea(); 28 area1.AxisX.Title = "Title-XAxis"; 29 area1.AxisY.Title = "Title-YAxis"; 30 31 chart1.Titles.Add(title1); 32 chart1.ChartAreas.Add(area1); 33 chart1.Series.Add(seriesLine); 34 35 }
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/02 12:15