tagCANDY CGI VBレスキュー(花ちゃん) - VBレスキュー(花ちゃん)の投稿サンプル用掲示板 - Visual Basic 6.0 VB2005 VB2010
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ
VBレスキュー(花ちゃん)の投稿サンプル用掲示板
     サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.0 用 トップページ
Chartコントロール(VB2008版)で注釈を表示(VB.NET) ( No.14 )  [親スレッドへ]
日時: 2010/03/10 19:30
名前: 花ちゃん

***********************************************************************************
* カテゴリー:[チャート][描画・画像][]                                  *
* キーワード:Microsoft Chart Controls,注釈を表示,                                *
***********************************************************************************
投 稿 日 : 2010/03/10
投 稿 者 : 花ちゃん

Private Sub Button15_Click(ByVal sender As System.Object, _
                           ByVal e As System.EventArgs) Handles Button15.Click
'15.注釈を表示
   Call ChartClar(Chart1)  '設定を一旦初期値に戻す。(通常は必要ありません。)
   With Chart1
      '注釈の表示位置をデータポイントで指定する必要があるので下記のような設定になっています。
      '(もう少し解りやすいやり方があるのかも知れませんが取りあえずという事で)
      Dim series(ds.Tables(0).Columns.Count - 1) As Series
      For i As Integer = 1 To ds.Tables(0).Columns.Count - 1
         'Debug.Print(ds.Tables(0).Columns(i).ColumnName)
         '系列の作成(国語・数学・英語)
         series(i - 1) = New Series
         series(i - 1).Name = ds.Tables(0).Columns(i).ColumnName
      Next i
      For j As Integer = 1 To ds.Tables(0).Columns.Count - 1
         For i As Integer = 0 To ds.Tables(0).Rows.Count - 1
            '点数の取得(69,87,74,71,84,81,80,82,69,86,73,72,96,81,75)
            'Debug.Print(CType(ds.Tables(0).Rows(i).Item(j), Integer).ToString)
            series(j - 1).Points.Add(CType(ds.Tables(0).Rows(i).Item(j), Integer))
         Next i
      Next j
      For i As Integer = 1 To ds.Tables(0).Columns.Count - 1
         '取得したデータを書き込み
         Chart1.Series.Add(series(i - 1))
      Next i

      '■------------------- 注釈を設定 ----------------Start--■
      Dim ca As New CalloutAnnotation()
      ca.Name = "CA1"
      ca.CalloutStyle = CalloutStyle.Cloud '他7種類の形があります
      ca.Text = "帰国子女なので"             '注釈の文字
      ca.ForeColor = Color.Red
      ca.Font = New Font("MS P明朝", 11, FontStyle.Bold)
      ca.BackColor = Color.Yellow
      ca.ShadowColor = Color.Blue
      ca.ShadowOffset = 3
      '表示位置の設定
      ca.AnchorDataPoint = Chart1.Series("英語").Points(2)
      Chart1.Annotations.Add(ca)
      '■-----------------------------------------------End----■

   End With
   For i As Integer = 1 To ds.Tables(0).Rows.Count
      With Chart1.ChartAreas(0).AxisX
         'ラベルの作成(浅野・安室・加藤・斉藤・鈴木)
         .CustomLabels.Add(i * 2, 0, ds.Tables(0).Rows(i - 1).Item(0).ToString)
      End With
   Next i

   '■------------------- X軸・Y軸のフォント・線等の設定 ----------------Start--■
   With Chart1.ChartAreas(0).AxisY
      .Maximum = 120    '点数の最大値(注釈が下に表示されてしまうので、最大値を大きくして上に表示するように)  
      .Minimum = 0      '点数の最小値
      .Interval = 20    '点数のメモリ間隔(20点毎)
   End With
   '■-------------------------------------------------------------------End----■

End Sub


  上記実行図
  http://hanatyan.sakura.ne.jp/chart/chart15.png



 [スレッド一覧へ] [親スレッドへ]