VBレスキュー(花ちゃん)
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ各掲示板

メニューへ戻ります。 Chart コントロール関係のメニュー
1.Chart コントロールの基本的な使い方
2.Chart コントロール関係ワンポイントテクニック集
3.Chart コントロールで行と列を入れ替えて表示 
4.StreamReader でデータを読み込み及び行列入れ替え表示 
5.Chart でレーダーチャートを見やすく表示
6.Chart で散布図を表示(Point・点グラフ)
7.Chart でデータ数が多い場合チャートにスクロールバーを付けて表示
8.一つのChart 内でグラフを上下に2個並べて表示
9.Chart で円グラフを表示 
10.Chart で縦棒と折線の複合グラフを表示
11.Chart で横スクロール時の現在表示データに合わせた自動目盛り設定
12.
 . 
20.その他、当サイト内に掲載の Chart に関するサンプル 


9.Chart で円グラフ(ドーナツグラフ)を表示(16_Cht_06) (旧、SampleNo.366)
1.Chart で円グラフ(ドーナツグラフ)を表示
2.
3.
4.
5.
6.

 下記プログラムコードに関する補足・注意事項 
動作確認:Windows 8.1 (Windows 7) / VB2013 (VB2010) / Framework 4.5.1 / 対象の CPU:x86
Option :[Compare Text] [Explicit On] [Infer On] [Strict On]
Imports :System.Windows.Forms.DataVisualization.Charting
参照設定:WaitTime.dll   参照設定方法参照

その他 :使用データ(Chart4.csv)は、次よりダウンロードして使って下さい。 chartdat.zip(各サンプル共通)
    :このサンプルを使用される前に、左のメニューの基本的な使い方とワンポイントテクニック集をご覧になって下さい。
このサンプル等の内容を無断で転載、掲載、配布する事はお断りします。(私の修正・改訂・削除等が及ばなくなるので)
必要ならリンクをはるようにして下さい。(引用の場合は引用元のリンクを明記して下さい)
このページのトップへ移動します。 1.Chart で円グラフ(ドーナツグラフ)を表示

'チャート関係の名前空間です。
Imports System.Windows.Forms.DataVisualization.Charting

Public Class Form1

Private Sub ChartShow()
    Chart1.Series.Clear()
    Chart1.Series.Add("0")
    '--------------------- データ読み込み部分 -----------------------------------
    Dim fileName As String = "..\..\..\data\Chart4.csv"    'ファイルのパス
    Dim sr As New System.IO.StreamReader(fileName, System.Text.Encoding.Default)
    Dim xValues As String() = Split(sr.ReadLine(), ",")
    Dim yValue1 As String() = Split(sr.ReadLine(), ",")
    Dim yValue2(UBound(yValue1)) As Double
    sr.Close()
    With Chart1.Series(0)
        For i As Integer = LBound(yValue1) To UBound(yValue1)
            yValue2(i) = CType(yValue1(i), Double)
            .Points.Add(i)
        Next i
        '-------------------------------------------------------------------------------
        'データソースを X 値と Y 値とにバインドする
        .Points.DataBindXY(xValues, yValue2)
        'グラフの種類を円グラフに設定
        .ChartType = DataVisualization.Charting.SeriesChartType.Doughnut

    '-------------- 以下は体裁の設定部分 ---------------------
        'カラーを個別に設定(デフォルトでは、かぶる場合があるので)
        Dim Col(8) As Color   'グラフのカラーを設定(お好みで、設定しなくてもOK)
        Col(0) = Color.Red : Col(1) = Color.Yellow : Col(2) = Color.ForestGreen
        Col(3) = Color.HotPink : Col(4) = Color.Blue : Col(5) = Color.Aqua
        Col(6) = Color.Gray : Col(7) = Color.LightGray : Col(8) = Color.DarkOrange
        For i As Integer = 0 To UBound(yValue1)
            .Points(i).Color = Col(i)
        Next i
        '民主のデータを切り出す
        .Points(0)("Exploded") = "true"
        'データポイントラベルの表示設定
        .Label = "#VALX" & "(#VALY%)"
    End With

    With Chart1
        '3Dで表示時の引き出し線の長さを指定する(2Dの場合は、"LabelsRadialLineSize" 等で)
        .Series(0)("3DLabelLineSize") = "30"  '30 〜 100 の範囲で指定
        '2Dで表示時の円グラフの円の形状
        .Series(0)("PieDrawingStyle") = "SoftEdge"  '"Default"   "Concave"
        'データポイントのラベルを Outside に表示
        .Series(0)("PieLabelStyle") = "Outside"
        'ドーナツの内円(0〜99 で、0 で帯になり数字が大きい程内円が小さくなる 100=エラー)
        .Series(0)("DoughnutRadius") = "70"

        '3D スタイルで円を描画
        .ChartAreas(0).Area3DStyle.Enable3D = True
        'データの描画開始位置の設定(12時の位置から描画開始)
        .ChartAreas(0).Area3DStyle.Rotation = -90

        '■------------------- タイトルを設定 ----------------Start--■
        'タイトルを設定
        .Titles.Clear()
        .Titles.Add("")
        With .Titles(0)
            .Alignment = Drawing.ContentAlignment.TopCenter
            .ForeColor = Color.Blue
            .Font = New Font("MS P明朝", 10, FontStyle.Bold Or FontStyle.Underline)
            .Text = "政党支持率(2010/02)"
        End With
        '■----------------------------------------------------End----■
        '■------------------- Chartコントロールの外形を設定 ----------------Start--■
        .BorderSkin.SkinStyle = DataVisualization.Charting.BorderSkinStyle.Emboss
        .BackColor = Color.Yellow
        .ChartAreas(0).BackColor = Color.MistyRose
        '■------------------------------------------------------------------End----■
        '凡例を非表示に設定
        .Legends(0).Enabled = False
        '回転させながら表示
        Dim wt As New WaitTime.Class1
        For i As Integer = -90 To 90
            .ChartAreas(0).Area3DStyle.Rotation = i
            wt.WaitTime(50)
        Next
        .ChartAreas(0).Area3DStyle.Rotation = -90
    End With
End Sub

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Me.Show()
    Call ChartShow()
End Sub

End Class

 図1.上記実行結果
 vb2013chart09_1
このページのトップへ移動します。 2.



このページのトップへ移動します。 3.


このページのトップへ移動します。 4.


このページのトップへ移動します。 5. 


このページのトップへ移動します。 6.


このページのトップへ移動します。 検索キーワード及びサンプルコードの別名(機能名)
3D ドーナツグラフ  3D 円グラフ  円グラフを切り出す  引き出し線の設定




このページのトップへ移動します。