スポンサーサイト
新しい記事を書く事で広告が消せます。
言語基礎からプログラム作りまでサポート『プログラミングの家庭教師』 .NET C# / VB / C(C++)
Excelのように、データを選択してグラフを表示する。こんな感じでまず、
データを用意して、グラフの種類を選択して表示する方法をマスターしよう。
Chart Controlの使い方の基礎中の基礎だ。
グラフデータ
こんなデータを用意した。左側はX軸、右側がY軸の値だ。
| 1 | 50 |
| 2 | 30 |
| 3 | 100 |
| 4 | 80 |
| 5 | 200 |
| 6 | 150 |
| 7 | 90 |
サンプルプログラム
FormのLoadイベントハンドラを作成して、この中にChart Controlのデータをセットするコードを追加する。
private void Form2_Load(object sender, EventArgs e)
{
//
// グラフ用のデータを作成
//
DataPoint dataPoint1 = new DataPoint(1D, 50D);
DataPoint dataPoint2 = new DataPoint(2D, 30D);
DataPoint dataPoint3 = new DataPoint(3D, 100D);
DataPoint dataPoint4 = new DataPoint(4D, 80D);
DataPoint dataPoint5 = new DataPoint(5D, 200D);
DataPoint dataPoint6 = new DataPoint(6D, 150D);
DataPoint dataPoint7 = new DataPoint(7D, 90D);
//
// グラフデータを系列 オブジェクトに追加
//
chart1.Series[0].Points.Add(dataPoint1);
chart1.Series[0].Points.Add(dataPoint2);
chart1.Series[0].Points.Add(dataPoint3);
chart1.Series[0].Points.Add(dataPoint4);
chart1.Series[0].Points.Add(dataPoint5);
chart1.Series[0].Points.Add(dataPoint6);
chart1.Series[0].Points.Add(dataPoint7);
}
このコードを実行すると
上記コードには敢えてグラフ種別を選択しなかった。その際、デフォルトの縦棒グラフが表示される。
つまり、Seriesクラスをインスタンス化すると、ChartTypeは、SeriesChartType.Columnが設定される。
グラフタイプを選択する場合、系列毎に設定する。
chart1.Series[0].ChartType = SeriesChartType.Column;
35種類あるグラフタイプは、下表のSeriesChartType列挙体のメンバー名で指定する。
| イメージ | グラフ名称 | SeriesChartType列挙体 | 値 |
| ポイント グラフ | Point | 0 | |
| FastPoint グラフ | FastPoint | 1 | |
| バブル チャート | Bubble | 2 | |
| 折れ線グラフ | Line | 3 | |
| スプライン グラフ | Spline | 4 | |
| StepLine グラフ | StepLine | 5 | |
| FastLine グラフ | FastLine | 6 | |
| 横棒グラフ | Bar | 7 | |
| 積み上げ横棒グラフ | StackedBar | 8 | |
| 100% 積み上げ横棒グラフ | StackedBar100 | 9 | |
| 縦棒グラフ | Column | 10 | |
| 積み上げ縦棒グラフ | StackedColumn | 11 | |
| 100% 積み上げ縦棒グラフ | StackedColumn100 | 12 | |
| 面グラフ | Area | 13 | |
| スプライン面グラフ | SplineArea | 14 | |
| 積み上げ面グラフ | StackedArea | 15 | |
| 100% 積み上げ面グラフ | StackedArea100 | 16 | |
| 円グラフ | Pie | 17 | |
| ドーナツ グラフ | Doughnut | 18 | |
| 株価チャート | Stock | 19 | |
| ローソク足チャート | Candlestick | 20 | |
| 範囲グラフ | Range | 21 | |
| スプライン範囲グラフ | SplineRange | 22 | |
| RangeBar グラフ | RangeBar | 23 | |
| 範囲縦棒グラフ | RangeColumn | 24 | |
| レーダー チャート | Radar | 25 | |
| 極座標グラフ | Polar | 26 | |
| 誤差範囲グラフ | ErrorBar | 27 | |
| ボックス プロット グラフ | BoxPlot | 28 | |
| 練行足チャート | Renko | 29 | |
| ThreeLineBreak グラフ | ThreeLineBreak | 30 | |
| かぎ足チャート | Kagi | 31 | |
| PointAndFigure グラフ | PointAndFigure | 32 | |
| じょうごグラフ | Funnel | 33 | |
| ピラミッド グラフ | Pyramid | 34 |
※左のイメージは、プロパティウィンドウ-Series-ChartTypeプロパティを選択するコンボボックスを示す。
chart1.Series[0].Points.Add(dataPoint1);
系列には名前を設定しているので、系列名を使って指定することができる。
chart1.Series["Series1"].Points.Add(dataPoint1);
デザイナーからChart Controlを選択して、プロパティウィンドウのLegendsを選択
Legendコレクション エディターを呼び出して、全ての凡例を削除するだけ。
スッキリしたので、以降凡例なしで様々なグラフ種別を検証する。
Formのキャプションに選択したグラフ種別名を表示している。
コードは以下の通り
this.Text = "グラフ種別『" + chart1.Series[0].ChartType.ToString() + "』";
本来複数の系列データが必要なグラフ種別や複数項目が必要なグラフ種別がある。
それらは、別の機会に検証することにして、取りあえず1系列のデータでどのように表示されるのかを見てみよう。
2010-12-21 │ 5 動くサンプルプログラムで技術向上 │ コメント : 0 │ トラックバック : 0 │ Edit