Microsoft Chart Control6.0を使ってのグラフ表示例(5個) (SNo.209) | |
使用コントロール | Microsoft Chart Control(AxMicrosoft Chart Control) |
その他条件 | WindowsXP(Vista) Visual Basic 2005(VB2008)VB2005 パソコン内にVB6.0がインストールされていないと使用できません。 ツールボックスを右クリックして、アイテムの選択又は、アイテムの追加と削除をクリックして、COM コンポーネント タブ内のMicrosoft Chart Control6.0 にチェックを入れ、ツールボックス内のMicrosoft Chart Control6.0コントロールをFormに貼り付けて下さい。 |
Public Class Form1 'SampleNo=209
WindowsXP(SP2) VB2005(EE) Framework2.0 2006.08.11 Private Sub Form1_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load 'データの読込 Call DataOpenSet() '表示するグラフの種類を設定 'AxMSChart1.chartType = MSChart20Lib.VtChChartType.VtChChartType2dLine '2D折れ線グラフ AxMSChart1.chartType = MSChart20Lib.VtChChartType.VtChChartType2dBar '2D棒グラフ 'タイトルの設定及び表示 Call TitleSet() '凡例の表示 Call ShowLegend() 'データポイントラベルの設定及び表示 Call DataLabel() End Sub Private Sub DataLabel() '★★★★★ データポイントラベルの設定 ★★★★★ For Each series As Object In AxMSChart1.Plot.SeriesCollection With series.DataPoints.Item(-1).DataPointLabel '表示位置 .LocationType = MSChart20Lib.VtChLabelLocationType.VtChLabelLocationTypeAbovePoint .Component = MSChart20Lib.VtChLabelComponent.VtChLabelComponentValue .ValueFormat = "0" '"0.0" "##" 表示フォーマット '表示色棒の色と同じ色で '.VtFont.VtColor.Set 72, 255, 72 '別に指定する場合 .VtFont.VtColor.Set( _ series.DataPoints(-1).Brush.FillColor.Red, _ series.DataPoints(-1).Brush.FillColor.Green, _ series.DataPoints(-1).Brush.FillColor.Blue) .Backdrop.Frame.Style = MSChart20Lib.VtFrameStyle.VtFrameStyleNull End With Next End Sub Private Sub ShowLegend() '★★★★★ 凡例の設定 ★★★★★ With AxMSChart1 '凡例文字の設定 .Plot.SeriesCollection(1).LegendText = "国 語" .Plot.SeriesCollection(2).LegendText = "数 学" .Plot.SeriesCollection(3).LegendText = "英 語" '凡例の表示位置を設定 .Legend.Location.LocationType = MSChart20Lib.VtChLocationType.VtChLocationTypeRight .ShowLegend = True End With End Sub Private Sub TitleSet() '★★★★★ タイトルの設定 ★★★★★ With AxMSChart1.Title 'タイトルのワードラップの設定 .TextLayout.WordWrap = True .TextLayout.VertAlignment = MSChart20Lib.VtVerticalAlignment.VtVerticalAlignmentCenter 'タイトル文字の設定 .Text = "期末テスト結果" & vbCrLf & "(3年B組)" '表示位置を中央に .TextLayout.HorzAlignment = MSChart20Lib.VtHorizontalAlignment.VtHorizontalAlignmentCenter 'タイトルを水平方向に表示 .TextLayout.Orientation = MSChart20Lib.VtOrientation.VtOrientationHorizontal .VtFont.Name = "MS 明朝" 'フォントサイズ '.VtFont.Size = 53 以上ならOK .VtFont.Size = 14 'フォントスタイル(太字) .VtFont.Style = MSChart20Lib.VtFontStyle.VtFontStyleBold '図表のフォント効果を設定(アンダーライン) .VtFont.Effect = MSChart20Lib.VtFontEffect.VtFontEffectUnderline 'タイトルの表示色(赤色) .VtFont.VtColor.Set(255, 0, 0) End With End Sub Private Sub DataOpenSet() '★★★★★ データの設定 ★★★★★ Dim mydata(5, 3) As Object mydata(0, 1) = "国語" mydata(0, 2) = "数学" mydata(0, 3) = "英語" mydata(1, 0) = "浅野" mydata(2, 0) = "安室" mydata(3, 0) = "加藤" mydata(4, 0) = "斉藤" mydata(5, 0) = "鈴木" mydata(1, 1) = 69 '浅野の国語の点数 mydata(1, 2) = 81 '浅野の数学の点数 mydata(1, 3) = 73 '浅野の英語の点数 mydata(2, 1) = 87 '安室の国語の点数 mydata(2, 2) = 80 '安室の数学の点数 mydata(2, 3) = 72 '安室の英語の点数 mydata(3, 1) = 74 '加藤の国語の点数 mydata(3, 2) = 82 '加藤の数学の点数 mydata(3, 3) = 96 '加藤の英語の点数 mydata(4, 1) = 71 '斉藤の国語の点数 mydata(4, 2) = 69 '斉藤の数学の点数 mydata(4, 3) = 81 '斉藤の英語の点数 mydata(5, 1) = 84 '鈴木の国語の点数 mydata(5, 2) = 86 '鈴木の数学の点数 mydata(5, 3) = 75 '鈴木の英語の点数 AxMSChart1.ChartData = mydata End Sub End Class |
|
お断り Microsoft Chart Control はCOMオブジェクトなので当然、Marshal.ReleaseComObject での解放処理が必要ですが、Excel ほど、影響を受けない(見られない)ようなので、操作をわかりやすくする意味から省略しておりますが、実使用においては解放処理を付け加えてご使用願います。 |
|
上記以外の操作については、VB6.0のMSChart関係のサンプルを参考に移植して下さい。 定数が違う事以外は殆ど、VB6.0のコードがそのまま使用できます。 上記サンプルの実行結果の画像 |