C# Chartコントロール

C# Chartコントロールについてわかりきったことや忘れやすいことのまとめ

Chart.Seriesはグラフ(データ)のコレクション
Chart.ChartAreasはXY軸や目盛りのコレクション

1つの棒グラフを表示

chart1.Series.Clear();
//グラフ1
Series series = new Series();
series.Color = Color.Red;
series.ChartType = SeriesChartType.Column;
series.Points.AddXY(1, 5);
series.Points.AddXY(2, 2);
series.Points.AddXY(3, 8);
chart1.Series.Add(series);

棒グラフ1

複数のグラフを重ねて表示するときはChart.Seriesに追加

2種類の棒グラフを重ねて表示

chart1.Series.Clear();
//グラフ1
Series series = new Series();
series.Color = Color.Red;
series.ChartType = SeriesChartType.Column;
series.Points.AddXY(1, 5);
series.Points.AddXY(2, 2);
series.Points.AddXY(3, 8);
chart1.Series.Add(series);
//グラフ2
series = new Series();
series.Color = Color.Blue;
series.ChartType = SeriesChartType.Column;
series.Points.AddXY(1, 3);
series.Points.AddXY(2, 1);
series.Points.AddXY(3, 5);
chart1.Series.Add(series);

棒グラフ

複数の棒グラフを表示すると重ならないように表示される。
重ねたいときはグラフ2をSeriesChartType.RangeColumnにしてグラフ幅を設定

            chart1.Series.Clear();
            //グラフ1
            Series series = new Series();
            series.Color = Color.Red;
            series.ChartType = SeriesChartType.Column;
            series.Points.AddXY(1, 5);
            series.Points.AddXY(2, 2);
            series.Points.AddXY(3, 8);
            series["PointWidth"] = "0.8";
            chart1.Series.Add(series);
            //グラフ2
            series = new Series();
            series.Color = Color.Blue;
            series.ChartType = SeriesChartType.RangeColumn;
            series.Points.AddXY(1, 3);
            series.Points.AddXY(2, 1);
            series.Points.AddXY(3, 5);
            series["PointWidth"] = "0.2";
            chart1.Series.Add(series);

棒グラフ3

グラフの説明(凡例)のテキストと表示、非表示は以下で設定

series.LegendText = "グラフ1";
series.IsVisibleInLegend = true;