- 日時: 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
|