Teratailから参考になるものをみつけました。
質問者の方は分からなかったらしいですが、弄ってたらピンと来まして。ちなみに普段はVBなんて弄らないので、C#に書き直すつもりです。
こちらがC#版
sheephuman.hatenablog.com
動画
回答されたコードにちょっと手を加えました。
コード
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 'データの取得 Dim ds As DataSet = GetData() 'Chartコントロールにデータソースを設定 Chart1.DataSource = ds '初期化 Chart1.Series.Clear() 'Chartコントロールにタイトルを設定 Chart1.Titles.Clear() 'グラフの種類,系列,軸の設定 For I As Integer = 1 To ds.Tables(0).Columns.Count - 1 '列名の取得 Dim columnName As String = ds.Tables(0).Columns(I).ColumnName '系列の設定 Chart1.Series.Add(columnName) 'グラフの種類 Chart1.Series(columnName).ChartType = DataVisualization.Charting.SeriesChartType.Column 'X軸 Chart1.Series(columnName).XValueMember = ds.Tables(0).Columns(0).ColumnName.ToString Chart1.ChartAreas(0).AxisX.MajorGrid.Enabled = False Chart1.ChartAreas(0).AxisX.MinorGrid.Enabled = False 'Y軸 Chart1.Series(columnName).YValueMembers = columnName Chart1.Series(columnName).Label = "#VAL{C}" Next End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click 'Dictionaryオブジェクトの宣言 Dim myDic As Object myDic = CreateObject("Scripting.Dictionary") myDic.Add("orange", 1) myDic.Add("apple", 2) myDic.Add("melon", 3) myDic.Add("sheep", 4) myDic.Add("safoal", 5) DataGridView1.Rows.Add() For i = 0 To DataGridView1.Rows.Count - 2 DataGridView1(0, i).Value = myDic.Keys(Int(5 * Rnd())) DataGridView1(1, i).Value = Int(1000 * Rnd() + 1) DataGridView1(2, i).Value = Int(1000 * Rnd() + 1) Next Button1_Click(sender, e) End Sub Private Function GetData() As DataSet Dim ds As New DataSet Dim dt As New DataTable Dim dtRow As DataRow '列の作成 dt.Columns.Add("") dt.Columns.Add(DataGridView1.Columns(1).HeaderText) dt.Columns.Add(DataGridView1.Columns(2).HeaderText) ds.Tables.Add(dt) '★★★データの追加★★★ For i = 0 To DataGridView1.Rows.Count - 1 dtRow = ds.Tables(0).NewRow dtRow(0) = DataGridView1(0, i).Value dtRow(1) = DataGridView1(1, i).Value dtRow(2) = DataGridView1(2, i).Value ds.Tables(0).Rows.Add(dtRow) Next Return (ds) End Function
メソッドにした方が良いんだろうけど面倒だった。
VBって書きづらいですね。Button2をクリックすると全部実行されます。
はてなって素でシンタックスハイライトされるんでいいですね。
実行結果
ちょっとした発見もしまして、こんな風に表示できちゃうという。
難点なのはこのままだと集計とか出来ない事で、ASIEnurableメソッドで何とか出来ないかと考えているところです。