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.グラフにおける各軸の呼び名と位置 'グラフにおける各軸の呼び名と位置 '下側の緑色の線 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.上記コードの実行結果 どのコードがどの設定になるのか、コードと図を見比べて下さい。 |
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.上記実行結果 .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軸に関する設定のコードを定数を変えて実行した結果 |
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 |
6. |
検索キーワード及びサンプルコードの別名(機能名) |
MSChart コントロール チャートコントロール グラフ |