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

リンク元へ戻ります。 MSChartコントロール関係のメニュー
1.MSChart での基本的な設定(表示データの設定・グラフの種類の設定)
2.MSChart の外観・凡例・タイトルに関する設定方法
3.MSChart のデータポイントラベルの設定及びマーカーの設定
4.MSChart の X 軸・Y 軸及びメモリ関係の設定
5.MSChart の系列の内部の色、パターン、パターンの色の設定
6.MSChart の標準の機能でできる上記以外の部分のワンポイント設定集
7.MSChart コントロールの主なグラフの表示方法(標準設定での)
8.MSChart のグラフをPictureBoxに転送表示及び各部の座標位置を取得
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.その他、MSChart 関係で当サイト内に掲載しているサンプルの紹介


4.MSChart の X 軸・Y 軸及びメモリ関係の設定
1.MSChart コントロールにおける各軸の呼び名と位置
2.MSChart コントロールにおけるY軸に関する設定色々
3.MSChart コントロールにおけるX軸に関する設定色々
4.MSChart コントロールにおける第二Y軸に関する設定
5.MSChart コントロールの折れ線グラフ時のX軸の目盛り区分線を設定
6. 

 下記プログラムコードに関する補足・注意事項 
動作確認:Windows Vista・Windows 7 (32bit) / VB6.0(SP6)
Option :[Option Explicit]
参照設定:追加なし
使用 API:
なし
その他 :条件は、1.MSChart での基本的な設定(表示データの設定・グラフの種類の設定)の表示環境で。
    :下記、コードは、sChartViewSet プロシージャ内に追加記入願います。
このページのトップへ移動します。 1.MSChart コントロールにおける各軸の呼び名と位置
  図1.グラフにおける各軸の呼び名と位置
 mschart04_01.gif
  'グラフにおける各軸の呼び名と位置
  '下側の緑色の線 VtChAxisIdX (X軸/横軸)
  MSChart1.Plot.Axis(VtChAxisIdX).Pen.Width = 70
  MSChart1.Plot.Axis(VtChAxisIdX).Pen.VtColor.Set 0, 255, 0

  '左側の青色の線 VtChAxisIdY (Y軸/縦軸)
  MSChart1.Plot.Axis(VtChAxisIdY).Pen.Width = 70
  MSChart1.Plot.Axis(VtChAxisIdY).Pen.VtColor.Set 0, 0, 255

  '右側の赤色の線 VtChAxisIdY2 (第2Y軸/右側の縦軸)
  MSChart1.Plot.Axis(VtChAxisIdY2).Pen.Width = 70
  MSChart1.Plot.Axis(VtChAxisIdY2).Pen.VtColor.Set 255, 0, 0



X 軸    定数(VtChAxisIdX) 定数値 0 でグラフに対して横方向の軸の事でグラフの項目等の表示に関する部分
Y 軸    定数(VtChAxisIdY) 定数値 1 でグラフに対して左側の縦方向の軸の事でグラフの目盛り等の表示に関する部分
第 2 Y 軸 定数(VtChAxisIdY2)定数値 2 でグラフに対して右側の縦方向の軸の事でグラフの目盛り等の表示に関する部分
今後のサンプルでは、注釈等省略する場合がありますので、各呼び名と表示位置等は覚えておいて下さい。

このページのトップへ移動します。 2.MSChart コントロールにおけるY軸に関する設定色々

  '1.目盛り線の設定(点数の横線)
  With MSChart1.Plot.Axis(VtChAxisIdY).ValueScale
    .Auto = False             '自動設定を解除
    .Maximum = 120             '最大値
    .Minimum = 0              '最小値
    .MajorDivision = 12          '目盛り線の数(等分)10点毎
    .MinorDivision = 2           '補助目盛り線等分   5点毎
  End With

  '2.目盛り線の数値の部分の横線の描き方(グラフ軸の目盛り区分を示すマーカー(太い青色の線))
  With Form1.MSChart1.Plot.Axis(VtChAxisIdY, 1)
    .Tick.Length = 300           '結果が解りやすいように長くしております。
    .Tick.Style = VtChAxisTickStyleOutside '目盛りは軸の外側に表示
    '.Style = VtChAxisTickStyleInside   '目盛りは軸の内側に表示
    .Pen.Width = 50            '線の太さを設定
    .Pen.VtColor.Set 0, 0, 255       '線の色を設定(青色)
  End With

  '3.目盛り線の数(等分)10点毎 の線の色を設定
  With MSChart1.Plot.Axis(VtChAxisIdY).AxisGrid.MajorPen
    .Width = 40              '線の太さを設定
    .VtColor.Set 0, 255, 255        '横の線(水色)
  End With

  '4.補助目盛り線の色を設定(5点毎)
  With MSChart1.Plot.Axis(VtChAxisIdY).AxisGrid.MinorPen
    .Width = 20              '線種によっては変化が少ない場合がある
    .Style = VtPenStyleDotted       '線種を設定(点線)
    .VtColor.Set 255, 0, 255        '補助目盛り線の色を設定(桃色)
  End With

  '5.Y 軸のラベルフォントの設定
  With MSChart1.Plot.Axis(VtChAxisIdY).Labels.Item(1)
    '左側の 点数の部分(赤色の太文字部分)
    .VtFont.Name = "MS P明朝"
    .VtFont.Size = 12
    .VtFont.Style = VtFontStyleBold
    .VtFont.VtColor.Set 255, 0, 0
  End With

図2.上記コードの実行結果
mschart04_02.gif

どのコードがどの設定になるのか、コードと図を見比べて下さい。

このページのトップへ移動します。 3.MSChart コントロールにおけるX軸に関する設定色々

  '1.X 軸の設定(下側の緑色の線)
  MSChart1.Plot.Axis(VtChAxisIdX).Pen.Width = 70
  MSChart1.Plot.Axis(VtChAxisIdX).Pen.VtColor.Set 0, 255, 0

  '2.X 軸の区切り線/ラベルの表示間隔等の設定
  With MSChart1.Plot.Axis(VtChAxisIdX).CategoryScale
    .Auto = False
    'ラベルの表示間隔 2=飛び飛びに氏名を表示
    .DivisionsPerLabel = 1 '1名毎
    'ラベルの区切り線の表示間隔   2=2名一緒に一枠に表示
    .DivisionsPerTick = 2  '2名毎に区切り線を表示
  End With

'  '区切りを設定しない場合
'  MSChart1.Plot.Axis(VtChAxisIdX).Tick.Style = VtChAxisTickStyleNone

  '3.X 軸のラベルの図表の区切り線の設定(桃色の縦線の部分)
  With MSChart1.Plot.Axis(VtChAxisIdX).AxisGrid
    .MajorPen.Style = VtPenStyleDitted
    .MajorPen.Width = 60
    .MajorPen.VtColor.Set 255, 0, 255
  End With

  '4.X 軸ラベルのテキストの設定
  With MSChart1
    .Row = 1
    'テスト用に長い文字列をセット
    .RowLabel = "ABCD EFGH"
    With .Plot.Axis(VtChAxisIdX).Labels.Item(1)
      .Auto = False
      .VtFont.Size = 12
      '上揃えで表示
      .TextLayout.VertAlignment = VtVerticalAlignmentTop
      '縦書き表示
      .TextLayout.Orientation = VtOrientationVertical
    End With
  End With

  図3.上記実行結果
 mschart04_03.gif



.TextLayout.WordWrap = True では、WordWrap が有効にならない。従ってラベルのテキストには長い文字は使用しないようにして下さい。
本来グラフは、一目瞭然であるべきで、解説文かのような長いテキストを使用すべきではないかと思います。
また、一般的でないような表示設定は、MSChart ではできないと思って下さい。

このページのトップへ移動します。 4. MSChart コントロールにおける第二Y軸に関する設定

コード的には、Y軸に関する設定と同じです、VtChAxisIdY のようなY軸の定数を VtChAxisIdY2 のように 2 を追加するだけです。従ってサンプルコードは、2.MSChart コントロールにおけるY軸に関する設定色々の方をご覧ください。

  With MSChart1.Plot.Axis(VtChAxisIdY2, 1)
    .Tick.Length = 300             '結果が解りやすいように長くしております。
    '.Tick.Style = VtChAxisTickStyleOutside   '目盛りは軸の外側に表示
    .Tick.Style = VtChAxisTickStyleInside    '目盛りは軸の内側に表示
    .Pen.Width = 50               '線の太さを設定
    .Pen.VtColor.Set 255, 0, 0         '線の色を設定(赤色)
  End With

  With MSChart1.Plot.Axis(VtChAxisIdY2).ValueScale
    .Auto = False                '自動設定を解除
    .Maximum = 120               '最大値
    .Minimum = 0                '最小値
    .MajorDivision = 12             '目盛り線の数(等分)10点毎
    .MinorDivision = 2             '補助目盛り線等分   5点毎
  End With
  
  図4.Y軸に関する設定のコードを定数を変えて実行した結果
 mschart04_04.gif

このページのトップへ移動します。 5.MSChart コントロールの折れ線グラフ時のX軸の目盛り区分線を設定

  MSChart1.chartType = VtChChartType2dLine
  With MSChart1.Plot.Axis(VtChAxisIdX)
    '折れ線の時のみ有効
    .CategoryScale.LabelTick = True    '軸の中央に表示
    '上記がTrurの場合に有効
    .Tick.Length = 400           '結果が解りやすいように長くしております。
    .Tick.Style = VtChAxisTickStyleOutside '目盛りは軸の外側に表示
    .Pen.Width = 50            '線の太さを設定
    .Pen.VtColor.Set 0, 255, 0       '線の色を設定(緑色)
  End With

 mschart04_05.gif

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


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




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