簡単なグラフの表示方法
                                                        玄関へお回り下さい。
MSChartコントロールを使ってグラフを表示する(その1)          (022)
   1.グラフ用データの作成
  今回は、後で応用できるように、CSVファイルを使用します。
  CSVファイルはExcel等で下記のように作成し、CSV形式で保存して下さい。
  (このデータは以降のサンプルでも同じものを使用します。)
   seiseki.csv
   

2.フォームにMSChartコントロールを貼り付ける
  
MSChart コントロールを使用する場合は プロジェクト→コンポーネント→Microsoft Chart
      Control ** にチェックを入れておいて下さい。
3.データファイルの読み込み
   下記コードを貼り付けて下さい。

Option Explicit

Private Sub Form_Load()
  Dim sName(10)   As String     '生徒名
  Dim Kamoku(4)   As String     '科目名
  Dim intDat(10, 4) As Long      '点数のデータ
  Dim CsvD(10)   As String
  Dim intDatN    As Integer
  Dim i       As Long
  Dim j       As Long
  Dim intFileNo   As Integer

  intFileNo = FreeFile
  'シーケンシャル入力モードで seiseki.csv をオープン
  Open "seiseki.csv" For Input As #intFileNo
  intDatN = -1  ' 0 を初期値にするために
  'EOF(intFileNo)が True になるまで実行
  Do Until EOF(intFileNo)
    intDatN = intDatN + 1   '件数をカウント
    'データを各変数に読込
    Input #intFileNo, CsvD(0), CsvD(1), CsvD(2), CsvD(3), CsvD(4), _
         CsvD(5), CsvD(6), CsvD(7), CsvD(8), CsvD(9), CsvD(10)
    If intDatN = 0 Then  '項目の部分
      For j = 1 To 10
        sName(j) = CsvD(j)
      Next j
    Else
      Kamoku(intDatN) = CsvD(0) '科目名
      For j = 1 To 10
        intDat(j, intDatN) = CInt(CsvD(j)) '点数
      Next j
    End If
  Loop
  'ファイルを閉じる
  Close #intFileNo
  'CSVファイルから読み込んだデータをグラフのデータにセット
  With MSChart1
    'デフォルトのグラフタイプ(2D棒)
    .chartType = VtChChartType2dBar
    '列数を3列に設定(国語・数学・英語)
    '図表と関連する現在のデータ グリッド内の列数を設定します
    .ColumnCount = 3
    'CSV ファイルの行と列とは逆になるので注意
    '行数を10行に設定(生徒毎)
    .RowCount = 10
    For i = 1 To .RowCount  '行
      For j = 1 To .ColumnCount '列
        .Column = j
        .Row = i
        '配列からデータを読込
        .Data = intDat(i, j) 'intDat(行,列)
      Next j
    Next i
    'ラベル及び列テキストをセット
    For i = 1 To 10
      '図表と関連する現在のデータ グリッド内の特定の行ラベルを設定
      .DataGrid.RowLabel(i, 1) = sName(i)  '生徒名の読み込み
    Next i
    For i = 1 To 3
      '図表に関連するグリッド内のデータ列のラベルを設定
      .DataGrid.ColumnLabel(i, 1) = Kamoku(i) '科目名
      '図の凡例中の系列を識別する文字列を設定
      .Plot.SeriesCollection(i).LegendText = Kamoku(i) '凡例
    Next i
  End With
End Sub
  CSVファイルのデータを直接グラフにセットしてもいいのですが、データを変更した場合等
  こちらの方が応用しやすいかなと思い一度配列に読み込んでからセットする事にしました。


4.これで一応棒下記のようなグラフが表示されます。  
  一度実行して見て下さい。棒グラフが表示されるはずです。
  尚、ファイルのパスはフルパスで記入して頂いた方がいいかと思います。

  実行結果(完成図)
  

5.グラフの細部の設定
  プログラム上からも設定出来ますが今回はプロパティで設定します。
  フォーム上のMSChartコントロールを右クリックし、プロパティをクリックして下さい。
  下図のようなプロパティページが表示されます。
  
  ここでグラフの目盛りや凡例等の設定グラフの種類等変更できます。
  後は、設定を色々変更して、試して見て下さい。

このようなグラフで良いのならExcelを使って表示するより簡単ですよね!
前回は、いきなりサンプルコードを載せて解説していたので、初めての人は理解しづらい部分があ
ったかと思います。
そこで、VB6.0 を使用したのを機会に作り変えることにしました。
まずは、一番簡単な表示方法という事で書いてみました。次からはこれを踏まえプログラムのコード
上から細部の設定を行っていきたいと思います。




2002/04/21