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 に関するサンプル 


4.StreamReader でデータを読み込み及び行列入れ替え表示(16_Cht_01) (旧、SampleNo.362)
1.StreamReader でデータを読み込み及び行列入れ替え表示
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
参照設定:
追加なし
その他 :使用データ(Chart.csv)は、次よりダウンロードして使って下さい。 chartdat.zip(各サンプル共通)
    :このサンプルを使用される前に、左のメニューの基本的な使い方とワンポイントテクニック集をご覧になって下さい。
このサンプル等の内容を無断で転載、掲載、配布する事はお断りします。(私の修正・改訂・削除等が及ばなくなるので)
必要ならリンクをはるようにして下さい。(引用の場合は引用元のリンクを明記して下さい)
このページのトップへ移動します。 1.StreamReader でデータを読み込み及び行列入れ替え表示

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

Public Class Form1

Private frgColRow As Boolean

Private Sub Chart1_Click(sender As Object, e As EventArgs) Handles Chart1.Click
    Chart1.Series.Clear()
    Dim DS1 As New DataSet
    Dim TB As DataTable = DS1.Tables.Add          'データセットにテーブルを追加する
    Dim filePath As String = "..\..\..\data\Chart.csv"    '表示するCSVファイルを指定
    Dim Rc As Integer = -1     '行数
    Dim Cc As Integer = 0      '列数

    '配列の個数の取得は少し面倒なので、予め解っていればその値を使用
    '配列の項数が解らない場合は、余裕を持って多くとっておく。
    Dim ro(100, 100) As String
    frgColRow = Not frgColRow
    'CSVファイルをSHIFT_JISのコードページのエンコーディングで読込み
    Using sr1 As New System.IO.StreamReader(filePath, System.Text.Encoding.GetEncoding("SHIFT_JIS"))
        'ファイルの最後までループ
        Do Until sr1.Peek = -1
            Rc = Rc + 1
            Dim cmDat() As String = Split(sr1.ReadLine, ",")
            Cc = UBound(cmDat)
            For i As Integer = 0 To UBound(cmDat)
                ro(Rc, i) = cmDat(i)  '一旦、データを配列変数に読み込み
            Next i
        Loop
    End Using

    If frgColRow Then
        For i As Integer = 0 To Cc
            TB.Columns.Add(ro(0, i), Type.GetType("System.String"))
        Next i
        TB.Rows.Add()
        For i As Integer = 1 To Rc
            TB.Rows.Add()
            For j As Integer = 0 To Cc
                TB.Rows(i)(j) = ro(i, j)
            Next j
        Next i
    Else
        For i As Integer = 0 To Rc
            TB.Columns.Add(ro(i, 0), Type.GetType("System.String"))
        Next i
        TB.Rows.Add()
        For i As Integer = 1 To Cc
            TB.Rows.Add()
            For j As Integer = 0 To Rc
                TB.Rows(i)(j) = ro(j, i)
            Next j
        Next i
    End If

    Chart1.DataSource = TB ' DS                 'Chart に表示するデータソースを設定
    With Chart1
        For i As Integer = 1 To DS1.Tables(0).Columns.Count - 1
            Dim columnName As String = DS1.Tables(0).Columns(i).ColumnName.ToString()
            '系列の設定(国語・数学等)
            .Series.Add(columnName)
            'グラフの種類を縦棒グラフに設定
            .Series(columnName).ChartType = DataVisualization.Charting.SeriesChartType.Column
            'X 軸のラベルテキストの読込・設定(浅野等の氏名)
            .Series(columnName).XValueMember = DS1.Tables(0).Columns(0).ColumnName.ToString()
            'グラフ用のデータの読込・設定(点数)
            .Series(columnName).YValueMembers = columnName
            .Series(columnName).Label = "#VALY"
        Next
    End With
End Sub

End Class

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



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


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


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


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


このページのトップへ移動します。 検索キーワード及びサンプルコードの別名(機能名)





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