Chartコントロールに複数(ここでは2つ)のChartAreaを登録したいのですが、
X軸は時系列で最小値と最大値はChartAreaで共通で、Y軸は数値で最小値と
最大値はChartAreaで異なります。
このときY軸の文字列幅が異なると下図のようにX軸のスケールが異なってしまいます。
180101_120000のところは少しずれており、180101_000000のところは大きくずれています。
このズレを無くしたいのですが、何か方法は無いでしょうか?
1つのChartAreaに複数のY軸を持たせる方法は知っていますが、知りたいのは
複数のChartArea間でのX軸スケール統一方法になります。
コードは下記です。
C#
1 // 現状データをクリア。 2 chart1.Series.Clear(); 3 chart1.Legends.Clear(); 4 chart1.ChartAreas.Clear(); 5 6 // 2つのチャートエリアを作成。 7 chart1.ChartAreas.Add(new ChartArea("1")); 8 chart1.ChartAreas.Add(new ChartArea("2")); 9 10 // Seriesの作成 11 Series series1 = new Series(); 12 Series series2 = new Series(); 13 series1.ChartArea = "1"; 14 series2.ChartArea = "2"; 15 series1.ChartType = SeriesChartType.Line; 16 series2.ChartType = SeriesChartType.Line; 17 18 // データ 19 DateTime dt = new DateTime(2018, 1, 1); 20 for (int i = 0; i < 500; i++) 21 { 22 series1.Points.AddXY(dt, Math.Sin(i / 500d * 2 * Math.PI)); 23 series2.Points.AddXY(dt, Math.Sin(i / 500d * 2 * Math.PI) * 10000); 24 dt = dt.AddSeconds(100); 25 } 26 27 // X軸の書式 28 chart1.ChartAreas[0].AxisX.LabelStyle.Format = "yyMMdd_HHmmss"; 29 chart1.ChartAreas[1].AxisX.LabelStyle.Format = "yyMMdd_HHmmss"; 30 31 // Seriesを追加。 32 chart1.Series.Add(series1); 33 chart1.Series.Add(series2);
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/03/12 04:03