- 日時: 2007/07/27 10:58
- 名前: 花ちゃん
- ***********************************************************************************
* カテゴリー:[チャート][][] * * キーワード:縦棒と折線の複合グラフを表示、2次元組合せ * *********************************************************************************** ----------------------------------------------------------------------------------- 投稿者:花ちゃん MSChartで縦棒と折線の複合グラフを表示 2007/07/25 ----------------------------------------------------------------------------------- 一応全部のコードを掲載しておきますが、表示するデータを追加しただけです。
Private Sub sChartViewSet() 'グラフの表示設定 '------------------- 複合グラフの表示設定 ---------------------- With MSChart1 'グラフの種類を 2次元組み合わせ を選択 .chartType = VtChChartType2dCombination '合計の系列だけを折線で表示 .Plot.SeriesCollection(4).SeriesType = VtChSeriesType2dLine '合計の系列だけを第2Y軸で表示 .Plot.SeriesCollection(4).SecondaryAxis = True End With ' 一応これだけの設定で表示できます。 '---------------------------------------------------------------
'以下の部分は好みで設定して下さい。 '目盛り線の設定(点数の横線)Y軸(数値軸) With MSChart1.Plot.Axis(VtChAxisIdY).ValueScale .Auto = False '自動設定を解除 .Maximum = 120 '最大値 .Minimum = 0 '最小値 .MajorDivision = 6 '目盛り線の数(等分)20点毎 .MinorDivision = 2 '補助目盛り線等分 10点毎 End With '目盛り線の設定(合計点数の横線)第2Y軸(第2数値軸) With MSChart1.Plot.Axis(VtChAxisIdY2).ValueScale .Auto = False '自動設定を解除 .Maximum = 300 '最大値 .Minimum = 0 '最小値 .MajorDivision = 6 '目盛り線の数(等分)50点毎 .MinorDivision = 2 '補助目盛り線等分 25点毎 End With '折れ線だけにマーカー・データポイントラベル・線の色を設定 With MSChart1.Plot.SeriesCollection(4) 'マーカーの設定 .SeriesMarker.Auto = False .DataPoints.Item(-1).Marker.Style = VtMarkerStyleCircle .DataPoints.Item(-1).Marker.Pen.VtColor.Set 255, 0, 255 .SeriesMarker.Show = True 'データポイントラベルの表示 .DataPoints.Item(-1).DataPointLabel.LocationType = VtChLabelLocationTypeAbovePoint '折れ線の色を水色で表示 .DataPoints(-1).Brush.FillColor.Set 0, 255, 255 End With End Sub
'----------------------------------------------- '折れ線で表示する 合計点 をデータに追加 Private Sub sDataOpen() 'グラフ用のデータを作成及び読み込み Dim Dat(0 To 5, 0 To 4) As Variant Dat(0, 1) = "国語" Dat(0, 2) = "数学" Dat(0, 3) = "英語" Dat(0, 4) = "合計" Dat(1, 0) = "浅野" Dat(1, 1) = 69 '国語の点数 Dat(1, 2) = 81 '数学の点数 Dat(1, 3) = 73 '英語の点数 Dat(1, 4) = 223 '合計の点数 Dat(2, 0) = "安室" Dat(2, 1) = 87 Dat(2, 2) = 80 Dat(2, 3) = 72 Dat(2, 4) = 239 '合計の点数 Dat(3, 0) = "加藤" Dat(3, 1) = 74 Dat(3, 2) = 82 Dat(3, 3) = 96 Dat(3, 4) = 252 '合計の点数 Dat(4, 0) = "斉藤" Dat(4, 1) = 71 Dat(4, 2) = 69 Dat(4, 3) = 81 Dat(4, 4) = 221 '合計の点数 Dat(5, 0) = "鈴木" Dat(5, 1) = 84 Dat(5, 2) = 86 Dat(5, 3) = 75 Dat(5, 4) = 245 '合計の点数 'グラフに表示する配列データを設定する MSChart1.ChartData = Dat() End Sub
'------------------------------------------------------------- ' 以下の部分は変更無し
Private Sub Form_Load() 'フォームのサイズを設定(好みで変更してください) Form1.Move 0, 0, 10400, 7000 'MSChart コントロールの表示サイズを設定 MSChart1.Move 0, 0, Me.ScaleWidth, Me.ScaleHeight Call sDataOpen 'データの読み込み Call sChartViewSet 'グラフの表示設定 End Sub
Private Sub Form_Resize() 'フォームのサイズ変更に合わせて MSChart コントロールの表示サイズも変更する MSChart1.Move 0, 0, Me.ScaleWidth, Me.ScaleHeight Me.Caption = "複合グラフで合計点を折れ線で表示" End Sub
'---------------------------------------------------------------
★上記実行図 http://hanatyan.sakura.ne.jp/samplepic/chartno13-1.gif
|