- 日時: 2011/04/27 10:35
- 名前: 花ちゃん
- ***********************************************************************************
* カテゴリー:[チャート][描画・画像][] * * キーワード:Microsoft Chart Controls,レーダチャート,Point,Radar,チャート * *********************************************************************************** 投 稿 日 : 2010/03/01 投 稿 者 : 花ちゃん
Microsoft Chart Controls for Microsoft .NET(Chartコントロール(VB2008版))を 使ってのレーダーチャートの描画
新たに、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版)でレーダーチャートを表示(364) - VB2008 '動作確認:WindowsVista/WindowsXP VB2008(EE)(VB2005) Framework 3.5 '[Option Compare Text] [Option Explicit On] [Option Infer On] [Option Strict On]で設定 '使用データは、下記よりダウンロードして使って下さい。 'http://www.hanatyan.sakura.ne.jp/bbs_gif/chartdat3.zip '使用コントロール及び配置は、下図を参照して下さい。 '--------------------------------------------------------------------------------------------------- '========1=========2=========3=========4=========5=========6=========7=========8=========9=========0 Imports System.Data.OleDb 'チャート関係の名前空間です。 'Imports System.Windows.Forms.DataVisualization.Charting
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 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
'---------------------------ここからレーダーチャートの表示設定----------------------------------
Dim Col(5) As Color 'グラフのカラーを設定(お好みで、設定しなくてもOK) Col(0) = Color.DeepSkyBlue : Col(1) = Color.DeepPink : Col(2) = Color.ForestGreen Col(3) = Color.HotPink : Col(4) = Color.BlueViolet : Col(5) = Color.Lime
With Chart1 .Series.Clear() '系列を初期化 .BackColor = Color.Yellow .ChartAreas(0).BackColor = Color.MistyRose 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 'グラフの色を透明に設定(重なった場合後ろが見えないので) .Series(columnName).Color = Color.Transparent 'グラフの線の色を設定 .Series(columnName).BorderColor = Col(i - 1) '線の太さを設定 .Series(columnName).BorderWidth = 5 'X(軸のラベルテキストの読込・設定(科目名)) .Series(columnName).XValueMember = ds.Tables(0).Columns(0).ColumnName.ToString() 'グラフ用のデータの読込・設定(点数) .Series(columnName).YValueMembers = columnName Next
'■------------------- X軸・Y軸のフォント・線等の設定 ----------------Start--■ With Chart1.ChartAreas(0) With .AxisX .LabelAutoFitMaxFontSize = 12 End With
With .AxisY .Maximum = 100 '点数の最大値 .Minimum = 0 '点数の最小値 .Interval = 20 '点数のメモリ間隔(20点毎) .LabelStyle.Font = New Font("MS Pゴシック", 12, FontStyle.Bold) .LabelStyle.ForeColor = Color.Red .MajorGrid.LineWidth = 2
.LineDashStyle = DataVisualization.Charting.ChartDashStyle.Solid '10点毎に補助線を表示 .MinorGrid.Enabled = True 'True に設定しないと表示しない .MinorGrid.Interval = 10 .MinorGrid.LineDashStyle = DataVisualization.Charting.ChartDashStyle.Dash End With End With '■-------------------------------------------------------------------End----■ End With
End Sub End Class
' 使用データ
' 浅野 安室 加藤 '国語 45 87 74 '数学 55 75 87 '英語 87 72 96 '社会 65 75 80 '理科 85 73 65
(画像をクリックすると元のサイズで見られます。)
|