散布図を表示する
                                                        玄関へお回り下さい。
MSChartで散布図を表示する            (136)
使用コントロール等
   Form1  MSChart1  
 別途、下図を参照してメニューを作成して下さい。
 尚、データファイルは必要ありません(コード上で作成)
         Option Explicit   'SampleNo=136 WindowsXP VB6.0(SP5) 2002.04.24

Private intChartType As Integer    'グラフの種類

Private Sub sChartViewSet()
  Dim series As Object

  If intChartType = 1 Then
  '散布図(プロット)
     With MSChart1
       'グラフタイプを散布図に設定
       .Plot.UniformAxis = False 'グラフを横長に
       .chartType = VtChChartType2dXY
    End With

    'すべての系列についてマーカーを表示し、線を表示解除します。
    For Each series In MSChart1.Plot.SeriesCollection
      series.SeriesMarker.Show = True
      series.SeriesMarker.Auto = False
      'マーカーの形状を指定
      series.DataPoints.Item(-1).Marker.Style = VtMarkerStyleUpTriangle
      '線を表示解除します。
      series.ShowLine = False
    Next
  Else
  '散布図(ライン)
     With MSChart1
       'グラフタイプを散布図に設定
       .chartType = VtChChartType2dXY
       .Plot.UniformAxis = False  'グラフを横長に True で縦長
    End With
    'すべての系列についてマーカーを非表示し、線を表示します。
    For Each series In MSChart1.Plot.SeriesCollection
      series.SeriesMarker.Show = False
      series.ShowLine = True
    Next
  End If
End Sub

'=== メニューを作成して下記コードを書いて下さい ======
Private Sub mnuLine_Click()
'ライン表示のメニュー
  intChartType = 0
  Call sChartViewSet
End Sub

Private Sub mnuPlot_Click()
'プロット表示のメニュー
  intChartType = 1
  Call sChartViewSet
End Sub
'====================================================

Private Sub sDataOpen()
'2行10列のデータを読込み
  Dim Dat(1 To 10, 0 To 1) As Integer
  Dat(1, 0) = 69
  Dat(2, 0) = 87
  Dat(3, 0) = 74
  Dat(4, 0) = 71
  Dat(5, 0) = 84
  Dat(6, 0) = 77
  Dat(7, 0) = 77
  Dat(8, 0) = 75
  Dat(9, 0) = 68
  Dat(10, 0) = 87
  Dat(1, 1) = 81
  Dat(2, 1) = 80
  Dat(3, 1) = 82
  Dat(4, 1) = 69
  Dat(5, 1) = 86
  Dat(6, 1) = 70
  Dat(7, 1) = 69
  Dat(8, 1) = 90
  Dat(9, 1) = 88
  Dat(10, 1) = 70
  MSChart1.ChartData = Dat()
End Sub

Private Sub Form_Load()
  Form1.Move 0, 0, 10400, 7000
  MSChart1.Move 0, 0, Me.ScaleWidth, Me.ScaleHeight
  Call sDataOpen
  intChartType = 1
  Call sChartViewSet
End Sub

Private Sub Form_Resize()
  MSChart1.Move 0, 0, Me.ScaleWidth, Me.ScaleHeight
End Sub

Form 等の配置やメニューは下図を参照して下さい。
前回までのサンプルは、データが別になっていた為、間違ったデータを読み込み動かない等の書き込みをされる方が見受けられるので、データ部分を一緒にコードに書きました。
これにより、上記コードをペーストして頂ければ、グラフがすぐ表示されるようになります。
又、フォームをドラッグして拡大・縮小する事でグラフも同時に拡大・縮小するようになっております。
データの読み込みや基本的なグラフ(棒グラフ等)の描画を理解された上でご使用下さい。   

    実行結果
     




2004/10/13