VB.NET Chart(グラフ)コントロールの使い方まとめ - パソコン1台でネット副業、クレジットカード節約の虎!

VB.NET Chart(グラフ)コントロールの使い方まとめ

アプリケーションでデータを表示する際に、Chartコントロール(グラフ)を使えれば、プログラムの見映えがよくなるだけでなく、よりデータの説得力が増します。

例えば、1つのデータ群を複合グラフで表示したり、データ点のラベルやマーカーにグラフィックスを使うことができれば、ユーザーが受ける印象がぐっとよくなっていき、アプリケーションの機能も高度なものに見えてきます。

そこで、今回はVB.NETのChart(グラフ)コントロールの基本的な使い方をまとめました。

VB.NETのChart(グラフ)コントロールの折れ線グラフ

Imports System.Windows.Forms.DataVisualization.Charting

' チャートにデータをセットする
Private Sub SetDataSourceChart()

    Dim dt As New DataTable
    Dim row As DataRow

    '列設定
    dt.Columns.Add(" ")
    dt.Columns.Add("2000年")
    dt.Columns.Add("2005年")
    dt.Columns.Add("2010年")
    dt.Columns.Add("2012年")

    '行追加 1月から12月.
    For i = 1 To 12

        row = dt.NewRow

        row(0) = i.ToString & "月"
        row("2000年") = i * 100
        row("2005年") = i * 110
        row("2010年") = i * 120
        row("2012年") = i * 130

        dt.Rows.Add(row)
    Next

    With Chart1

        .Series.Clear()
        
        'データバインド.
        .DataSource = dt

        '系列追加.
        For i = 1 To dt.Columns.Count - 1

            Dim columnName As String = dt.Columns(i).ColumnName

            .Series.Add(columnName)
            '折れ線グラフに設定.
            .Series(columnName).ChartType = DataVisualization.Charting.SeriesChartType.Line
            'X軸
            .Series(columnName).XValueMember = dt.Columns(0).ColumnName
            'Y軸
            .Series(columnName).YValueMembers = columnName

        Next

        'マーカーの種類.
        .Series("2000年").MarkerStyle = MarkerStyle.Square
        .Series("2005年").MarkerStyle = MarkerStyle.Diamond
        .Series("2010年").MarkerStyle = MarkerStyle.Star5
        .Series("2012年").MarkerStyle = MarkerStyle.Circle

        'グラフの色.
        .Series("2000年").Color = Color.DarkBlue
        .Series("2005年").Color = Color.Green
        .Series("2010年").Color = Color.Red
        .Series("2012年").Color = Color.DodgerBlue

        '透過色設定.
        For Each ser As Series In .Series
            ser.Color = Color.FromArgb(150, ser.Color.R, ser.Color.G, ser.Color.B)
            ser.MarkerBorderColor = ser.Color
            ser.MarkerColor = Color.White
        Next

    End With

'バインドしないでデータを設定する場合----------------
'データポイントを生成
System.Windows.Forms.DataVisualization.Charting.DataPoint dataPoint1 =  _
    new System.Windows.Forms.DataVisualization.Charting.DataPoint(0, 400)
System.Windows.Forms.DataVisualization.Charting.DataPoint dataPoint2 =  _
    new System.Windows.Forms.DataVisualization.Charting.DataPoint(0, 600)
System.Windows.Forms.DataVisualization.Charting.DataPoint dataPoint3 =  _
    new System.Windows.Forms.DataVisualization.Charting.DataPoint(0, 1700)
'データポイントを追加
Series("2000年").Points.Add(dataPoint1)
Series("2000年").Points.Add(dataPoint2)
Series("2000年").Points.Add(dataPoint3)
'バインドしないでデータを設定する場合----------------

End Sub
他にも3D表示やグラデーション表示、グラフの回転、棒グラフと折れ線グラフの混合グラフなど、このChart(グラフ)コントロールで グラフというグラフはなんでも作れてしまいます。

X軸とY軸のデータ設定の方法が理解できれば後は応用で、Chart(グラフ)コントロールで次のようなグラフが作れます。


その他のグラフ一覧
100% 積み上げ面グラフ

複数系列のデータを積み上げられた面として表示します。Y 軸の積み上げられた各要素の累積比率は常に 100 % です。

100% 積み上げ横棒グラフ

複数系列のデータを積み上げられた横棒として表示します。Y 軸の積み上げられた各要素の累積比率は常に 100 % です。

100% 積み上げ縦棒グラフ

複数系列のデータを積み上げられた縦棒として表示します。Y 軸の積み上げられた各要素の累積比率は常に 100 % です。

面グラフ

時系列の変化度を強調し、全体に対する部分の関係を表示します。

横棒グラフ

個々の項目間の比較を表示します。

ボックス プロット グラフ

1 つまたは複数のデータセット内のデータの分散をまとめた 1 つまたは複数の箱形のシンボルで構成されます。

バブル チャート

ポイント グラフのバリエーションの 1 つ。データ ポイントはさまざまなサイズのバブルで置き換えられます。

ローソク足チャート

高値、安値、始値、および終値を使用して株式情報を表示するときに使用されます。

縦棒グラフ

一連の縦棒を使用して複数のカテゴリの値を比較します。

ドーナツ グラフ

グラフと似ていますが、中央に穴があります。

誤差範囲グラフ

グラフ内に表示されるデータに関する統計情報を表示するときに使用される、マーカー付きの折れ線で構成されます。

FastLine グラフ

大量のデータ ポイント数を含む系列を描画する時間を大幅に短縮できる折れ線グラフのバリエーションの 1 つです。

FastPoint グラフ

大量のデータ ポイント数を含む系列を描画する時間を大幅に短縮できるポイント グラフのバリエーションの 1 つです。

じょうごグラフ

合計すると 100% になるデータをじょうご型に表示します。

かぎ足チャート

一連の接続された垂直線を表示します。価格の値の動作によって折れ線の厚みと方向が変わります。

折れ線グラフ

時間経過に応じたデータの傾向を表示します。

円グラフ

データの一部をパイ型の部分として表現し、全体のデータに占めるデータの比率を示します。

ポイント グラフ

データ ポイントを表すポイントを使用します。

ポイント アンド フィギュア グラフ

時間経過を無視し、価格の変化のみを表示します。

極座標グラフ

角度、および中心点からの距離を使用して、データ ポイントを表示する円形のグラフ。

ピラミッド グラフ

合計すると 100% になるデータを表示します。

レーダー チャート

主にデータ比較ツールとして使用される円形のグラフ。

範囲グラフ

データ ポイントごとに 2 つの Y 値をプロットしてデータの範囲を表示します。各 Y 値は折れ線グラフとして描画されます。

範囲横棒グラフ

開始値と終了値がある個別のイベントを表示します。

範囲縦棒グラフ

データ ポイントごとに 2 つの Y 値をプロットしてデータの範囲を表示します。

練行足チャート

一連の接続された垂直線を表示します。価格の値の動作によって折れ線の厚みと方向が変わります。

スプライン グラフ

系列内の各データ ポイントに合わせて曲線をプロットする折れ線グラフ。

スプライン面グラフ

系列内の各データ ポイントに合わせて曲線をプロットするグラフ。

スプライン範囲グラフ

データ ポイントごとに 2 つの Y 値をプロットしてデータの範囲を表示します。各 Y 値は折れ線グラフとして描画されます。

積み上げ面グラフ

2 つ以上の連続データを積み上げたグラフ。

積み上げ横棒グラフ

同じ種類のグラフを複数積み上げた横棒として表示します。

積み上げ縦棒グラフ。

複数のカテゴリについて、全体に対して各値が占める割合を比較するときに使用されます。

ステップ ライン グラフ

折れ線グラフと似ていますが、垂直線と水平線を使用して系列内データ ポイントを接続し、階段状のグラフを形成します。

株価チャート

始値、終値、高値、安値など、重要な株価ポイントを表示します。

新値 3 本足チャート

価格値の変化を反映する一連の垂直ボックスまたは縦線を表示します。


ASP.netとC#のサンプルですが、C#とVB.netのコードはさほど変わらないのでこれを見ればやりたい事が必ずわかるといって良いほど充実しています。
Samples Environment for Microsoft Chart Controls
チャート(グラフ)コントロールのサンプル

ご質問、ご指摘はコメントからお気軽にどうぞ。

関連記事
このブログのランキングは何位!?
fc2ブログランキング 人気ブログランキングへ ブログランキング・にほんブログ村へ
コメント
非公開コメント

トラックバック

http://overseasexp.blog79.fc2.com/tb.php/44-13d50ab4