- 日時: 2012/07/04 14:03
- 名前: 花ちゃん
- ***********************************************************************************
* カテゴリー:[チャート][描画・画像][] * * キーワード:Microsoft Chart Controls,基本設定,グラフ,チャート,MSChart * *********************************************************************************** 投 稿 日 : 2010/03/10 投 稿 者 : 花ちゃん
Microsoft Chart Controls for Microsoft .NET(Chartコントロール(VB2008〜版))の基本的な 操作例 まず、Microsoft Chart Controls(VB2008〜版)を試して見るその1(VB.NET)をご覧になってから ( http://www.hanatyan.sakura.ne.jp/patio/read.cgi?no=255 ) 下記のテクニック集を試して下さい。
又、下記以外にも有料サンプル集の方でも色々試しております。 ( http://www.hanatyan.sakura.ne.jp/dotnet/Sample.htm#chart1 )
1.基本的な(単純)表示設定 >>1 2.データポイントラベルの表示 >>2 3.棒のカラーを指定の色に設定 >>3 4.Chartコントロールの外形を設定 >>4 5.グラフの種類を変更する >>5 6.グラフを3Dで表示する >>6 7.タイトルを設定 >>7 8.X軸・Y軸のフォント・線等の設定 >>8 9.凡例関係の設定 >>9 10. Y軸のタイトル(点数)の設定 >>10 11. X軸のタイトル(生徒名)の設定 >>11 12. マーカの設定 >>12 13. 表示が重なった場合の対策 >>13 14. カスタム属性を使って描画 >>14 15. 注釈を表示 >>15 16. 背景をグラデーションで描画 >>16 17. Chartの印刷関係の設定(ページ設定・印刷プレビュー・印刷のダイアログを表示)
18. グラフをファイルに保存その1 http://www.hanatyan.sakura.ne.jp/dotnet/chart19.htm 19. グラフをファイルに保存その2 http://www.hanatyan.sakura.ne.jp/dotnet/chart20.htm 20. 左上を起点に吊り下げ表示 http://www.hanatyan.sakura.ne.jp/dotnet/chart21.htm 21. X軸目盛を右側に表示 http://www.hanatyan.sakura.ne.jp/dotnet/chart22.htm 22. 描画したChartをクリップボードにコピー http://www.hanatyan.sakura.ne.jp/dotnet/chart18.htm 23. ToolTipText を表示(科目名・氏名・点数) http://www.hanatyan.sakura.ne.jp/dotnet/chart23.htm 24. クリックした位置の要素を取得(科目名・氏名・点数) http://www.hanatyan.sakura.ne.jp/dotnet/chart24.htm 25. グラフを回転表示 / 停止 http://www.hanatyan.sakura.ne.jp/dotnet/chart25.htm 26. 棒グラフの棒の幅を設定 http://www.hanatyan.sakura.ne.jp/dotnet/chart30.htm 27. 系列の色をカスタムパレットで変更(Excel のグラフ色もあり) http://www.hanatyan.sakura.ne.jp/dotnet/chart31.htm >>17 28. 行と列を入れ替えて表示
29. StreamReaderで読込及び行列入替 30. プロットエリアの境界線を描画 31. series の Z order を変更する
新たに、VB.NET Tips一覧の方に、Microsoft Chart Controls の項を設けて図表付きで詳しく解説しておりますのでそちらも併せてご覧ください。 http://www.hanatyan.sakura.ne.jp/dotnet/index.html http://www.hanatyan.sakura.ne.jp/dotnet/chartframe.htm
'===================================================================================================
Chartコントロール(VB2008版)のチャートタイプ一覧 http://hanatyan.sakura.ne.jp/chart/chart1.htm
1.基本的な(単純)表示設定 このワンポイントテクニック集の動作確認に必要な表示設定
使用するデータは、上記の(VB2008版)を試して見るその1と同じものを使って下さい。
Imports System.Data.OleDb 'チャート関係の名前空間です。 Imports System.Windows.Forms.DataVisualization.Charting
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click '1.基本的な(単純)表示設定 Call ChartClar(Chart1) '設定を一旦初期値に戻す。(通常は必要ありません。) With Chart1 .Series.Clear() '系列を初期化 For i As Integer = 1 To colums Dim columnName As String = ds.Tables(0).Columns(i).ColumnName.ToString() '系列の設定(国語・数学等) .Series.Add(columnName) .ChartAreas(0).Area3DStyle.Enable3D = False 'X 軸のラベルテキストの読込・設定(浅野等の氏名) .Series(columnName).XValueMember = ds.Tables(0).Columns(0).ColumnName.ToString() 'グラフ用のデータの読込・設定(点数) .Series(columnName).YValueMembers = columnName Next End With End Sub
#Region "Chart 用のデータを取得部分"
Private ds As New DataSet Private colums As Integer Private Sub Form1_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load '下記ファイルをDLして、起動フォルダーに入れて置いて下さい。 Call ChartDataOpen(Application.StartupPath(), "test.csv") End Sub Private Sub ChartDataOpen(ByVal FolderPath As String, ByVal fileName As String) 'CSV ファイルを読み込みChart に表示するデーターソースを設定 Using cn As New System.Data.OleDb.OleDbConnection Dim csvFileName As String = fileName cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & FolderPath & _ ";Extended Properties=""Text;HDR=YES;IMEX=1;FMT=Delimited""" Using da As System.Data.OleDb.OleDbDataAdapter = _ New System.Data.OleDb.OleDbDataAdapter("SELECT * FROM " & csvFileName, cn) da.Fill(ds, "Table1") Chart1.DataSource = ds 'Chart に表示するデータソースを設定 colums = ds.Tables(0).Columns.Count - 1 'データの系列数を取得 End Using End Using End Sub
#End Region
#Region "Chart の設定を初期値に設定"
Private Sub ChartClar(ByVal cht As Chart) 'Chart の設定を初期値に戻す(通常は必要ありません) With cht .Titles.Clear() 'タイトルの初期化 .BackGradientStyle = GradientStyle.None .BackColor = Color.White '背景色を白色に '外形をデフォルトに .BorderSkin.SkinStyle = BorderSkinStyle.None .Legends.Clear() '凡例の初期化 .Legends.Add("Legend1") .Series.Clear() '系列(データ関係)の初期化 .ChartAreas.Clear() '軸メモリ・3D 表示関係の初期化 .ChartAreas.Add("ChartArea1") .Annotations.Clear() End With End Sub
#End Region
End Class
このテクニック集の実行図です。(各サンプルの実行結果は、下図を参考にして下さい。)
|