- 日時: 2011/04/27 10:33
- 名前: 花ちゃん
- ***********************************************************************************
* カテゴリー:[チャート][描画・画像][] * * キーワード:Microsoft Chart Controls for Microsoft .NET Framework 3.5,チャート * *********************************************************************************** 投 稿 日 : 2010/02/26 投 稿 者 : 花ちゃん '=================================================================================================== '動作確認:Windows 7/WindowsVista/WindowsXP VB2010/VB2008(EE)/VB2005(EE) Framework 3.5 '[Option Compare Text] [Option Explicit On] [Option Infer On] [Option Strict On]で設定 '使用コントロール及び配置は、下図を参照して下さい。 '---------------------------------------------------------------------------------------------------
新たに、VB.NET Tips一覧の方に、Microsoft Chart Controls の項を設けて図表付きで詳しく 解説しておりますのでそちらも併せてご覧ください。 http://www.hanatyan.sakura.ne.jp/dotnet/index.html http://www.hanatyan.sakura.ne.jp/dotnet/chartframe.htm
Microsoft Chart Controls for Microsoft .NET の使用方法
1.Microsoft Chart Controls for Microsoft .NET Framework 3.5 を 下記サイトよりダウンロードしてインストールする(VB2010ではインストールされているので不要) http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=130f7986-bf49-4fe5-9ca8-910ae6ea442c 2.Microsoft Chart Controls Add-on for Microsoft Visual Studio 2008 を 下記サイトよりダウンロードしてインストールする http://www.microsoft.com/downloads/details.aspx?familyid=1D69CE13-E1E5-4315-825C-F14D33A303E9&displaylang=en 3.うまくインストールできていれば、ツールボックスの下部の方にChart と 書いたコントールが表示されているはずです。(Windows Vista VB2008) 4.表示されていなければ、ツールボックスを右クリックして、[アイテムの選択] [.NET Framework コンポーネント]のタブ内の[Chart]を探して見て下さい。 (通常は、WEB 用と Windows.Form 用の2種類が入っているはずです。) 5.上記の4で見つからない場合は、一度再起動してからもう一度確認して見て 下さい。(それでもだめなら1.からやり直して見て下さい。)
※ Visual Studio 2008 とか、.NET Framework 3.5 とかがでてきてはいますが、Windows XP / VB2005( Express Edition) の環境でも使用できるようです。.NET Framework 3.5(SP1) が入っている必要は あると思います。(WindowsXP /VB2005(EE) で動作確認済み)
下記のような CSV ファイルを作ってこのEXE と同じフォルダーに入れて置いて下さい。 国語 数学 英語 浅野 69 81 73 安室 87 80 72 加藤 74 82 96 斉藤 71 69 81 鈴木 84 86 75
又は、下記よりダウンロードして使って下さい。 http://www.hanatyan.sakura.ne.jp/bbs_gif/ChartDat1.zip
ある掲示板で、Microsoft Chart Controls for Microsoft .NET Framework 3.5 がリリース された事を知り試したもので、間違いや、もっと簡単な使い方等があるかも知れません。 チャート関係は、複雑なのですべてを試したものでもないし、調べきった訳でもないので 参考程度にしておいて下さい。 詳しい設定方法や使い方をご存じの方は、サンプルを投稿願います。
※ コントロール名が長いのとVB6.0のMSChartコントロールと紛らわしいので今後ここでは、 Chartコントロール(VB2008版)のように略称名の後ろに(VB2008版)を併記するようにします。 -------------------------------------------------------------------------------------
Imports System.Data.OleDb Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load '-------------------------------------------------------------------------------------- '下記の表示設定は、[CSVファイルをADO.NETを使ってDataGridViewに表示(VB.NET)]と同じです。 Dim ds As New DataSet Using cn As New System.Data.OleDb.OleDbConnection Dim FolderPath As String = Application.StartupPath() Dim csvFileName As String = "test.csv" 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") End Using End Using
'-------------------------------------------------------------------------------------------- 'ここからがグラフの表示設定です。 Dim Col(5) As Color 'グラフのカラーを設定(お好みで、設定しなくてもOK) Col(0) = Color.DeepPink : Col(1) = Color.DeepSkyBlue : Col(2) = Color.ForestGreen Col(3) = Color.HotPink : Col(4) = Color.BlueViolet : Col(5) = Color.Lime
With Chart1 .Series.Clear() '系列を初期化 .DataSource = ds 'Chart に表示するデータソースを設定 Dim colum As Integer = ds.Tables(0).Columns.Count - 1 'データの系列数を取得 For i As Integer = 1 To colum Dim columnName As String = ds.Tables(0).Columns(i).ColumnName.ToString() '系列の設定(国語・数学等) .Series.Add(columnName) 'グラフの種類を縦棒グラフに設定 .Series(columnName).ChartType = DataVisualization.Charting.SeriesChartType.Column 'X 軸のラベルテキストの読込・設定(浅野等の氏名) .Series(columnName).XValueMember = ds.Tables(0).Columns(0).ColumnName.ToString() 'グラフ用のデータの読込・設定(点数) .Series(columnName).YValueMembers = columnName 'データポイントラベルを表示 .Series(i - 1).Label = "#VALY" '棒のカラーを指定の色に設定 .Series(i - 1).Color = Col(i - 1) Next ' .DataBind() 'データを結合 End With End Sub End Class
上記実行図(画像をクリックすると元のサイズで見られます。)
|