Microsoft Chart Control でレーダーチャートを表示 | |
使用コントロール | Chart1 |
開発環境 | WindowsVista VB2010(VS2010 Pro) Framework 4 / ターゲットCPU:X86 [Option Compare Text] [Option Explicit On] [Option Infer On] [Option Strict On]で設定 |
その他条件 | Microsoft Chart Control が使用できる環境 使用データ(test.csv)は、基本的な表示で使用したデータを使ってください。 |
下記サンプルは、必ず、CSVファイルを使っての基本的なグラフの表示 をご覧になってからお試しください。 Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load '-------------------------------------------------------------------------------------- '下記のデータの読み込み設定は、基本的なグラフの表示と同じです。 Dim ds As New DataSet Dim colums As Integer 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") Chart1.DataSource = ds 'Chart に表示するデータソースを設定 colums = ds.Tables(0).Columns.Count - 1 'データの系列数を取得 End Using End Using '---------------------------ここからレーダーチャートの表示設定---------------------------------- 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) 'グラフのタイプをレーダーチャートに設定 .Series(columnName).ChartType = DataVisualization.Charting.SeriesChartType.Radar 'X(軸のラベルテキストの読込・設定(科目名)) .Series(columnName).XValueMember = ds.Tables(0).Columns(0).ColumnName.ToString() 'グラフ用のデータの読込・設定(点数) .Series(columnName).YValueMembers = columnName Next 'Line で表示して見易くした場合 Dim Col(2) As Color 'グラフのカラーを設定(お好みで、設定しなくてもOK) Col(0) = Color.DeepSkyBlue : Col(1) = Color.DeepPink : Col(2) = Color.ForestGreen For i As Integer = 0 To colums - 1 'グラフの色を透明に設定(重なった場合後ろが見えないので) .Series(i).Color = Color.Transparent 'グラフの線の色を設定 .Series(i).BorderColor = Col(i) '線の太さを設定 .Series(i).BorderWidth = 5 Next i '■-------------------------------------------------------------------End----■ End With End Sub End Class |
|
上記コードの実行結果 又、下記のようにも表示できます。 http://hanatyan.sakura.ne.jp/patio/upl/1267409689-3.png |
|
使用データ 浅野 安室 加藤 国語 45 87 74 数学 55 75 87 英語 87 72 96 社会 65 75 80 理科 85 73 65 |