FC2ブログ

No002. 様々なグラフを表示してみよう - プログラミング独学に限界、基礎と独習力を身につけるための塾

プログラミング独学に限界、基礎と独習力を身につけるための塾 ホーム » スポンサー広告 » 5 動くサンプルプログラムで技術向上 » No002. 様々なグラフを表示してみよう
 
RSSフィード iGoogleに追加 MyYahooに追加

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

No002. 様々なグラフを表示してみよう

 

Microsoft Chart Control マニュアル & サンプルコード
「様々なグラフを表示してみよう」

Excelのように、データを選択してグラフを表示する。こんな感じでまず、
データを用意して、グラフの種類を選択して表示する方法をマスターしよう。

Chart Controlの使い方の基礎中の基礎だ。

 

グラフデータを作成し、グラフの種類を選択して、グラフ表示する

手順

  1. ツールボックスウィンドウからChart コントロールを選択してFormに貼り付ける
  2. グラフ用のデータを用意する
  3. FormのLoad イベントハンドラに下記のコードを追加する

グラフデータ

こんなデータを用意した。左側は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コレクション エディターを呼び出して、全ての凡例を削除するだけ。

スッキリしたので、以降凡例なしで様々なグラフ種別を検証する。

 

ChartTypeを変更して実行してみよう

Formのキャプションに選択したグラフ種別名を表示している。

コードは以下の通り
this.Text = "グラフ種別『" + chart1.Series[0].ChartType.ToString() + "』";

本来複数の系列データが必要なグラフ種別や複数項目が必要なグラフ種別がある。
それらは、別の機会に検証することにして、取りあえず1系列のデータでどのように表示されるのかを見てみよう。



 

 

コメント
非公開コメント

トラックバック

http://proghelp.blog89.fc2.com/tb.php/134-8488e256

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。