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