■78728 / ) |
Re[9]: 複数のChartをひとつに |
□投稿者/ shu (807回)-(2016/02/13(Sat) 10:07:01)
|
■No78722 (佐伯 さん) に返信
提示された内容を1つのChartに集約する例です。
棒グラフなので横並びになりますが、グラフの種類が違えば見え方も変わってくると思います。
Public Class Form1
Private dat1(3) As String
Private dat2(3) As Single
Private datS As Integer
Private _tbl As DataTable
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
ChartA()
ChartB()
ChartC()
End Sub
Private Sub ChartA()
'日付、数量、データ数
dat1(0) = "0101" : dat1(1) = "0102" : dat1(2) = "0103"
dat2(0) = 10.0! : dat2(1) = 20.0! : dat2(2) = 30.0!
datS = 2
'チャート表示
Dim ds As New DataSet
Dim dt As New DataTable
Dim dtRow As DataRow
'列の作成
dt.Columns.Add("日付", GetType(String))
dt.Columns.Add("数量", GetType(Single))
ds.Tables.Add(dt)
'データの追加
For i = 0 To datS
dtRow = ds.Tables(0).NewRow
dtRow(0) = dat1(i) '日付セット
dtRow(1) = dat2(i) '数量セット
ds.Tables(0).Rows.Add(dtRow)
Next
'Chart に表示するデータソースを設定
Chart1.DataSource = ds
'系列を初期化
Chart1.Series.Clear()
'グラフの種類の設定
Dim bou = Chart1.Series.Add("棒グラフ")
With bou
.ChartType = DataVisualization.Charting.SeriesChartType.Column
.XValueMember = "日付"
.YValueMembers = "数量"
.IsVisibleInLegend = False
End With
End Sub
Private Sub ChartB()
'日付、数量、データ数
dat1(0) = "0101" : dat1(1) = "0102" : dat1(2) = "0103"
dat2(0) = 100.0! : dat2(1) = 200.0! : dat2(2) = 300.0!
datS = 2
'チャート表示
Dim ds As New DataSet
Dim dt As New DataTable
Dim dtRow As DataRow
'列の作成
dt.Columns.Add("日付", GetType(String))
dt.Columns.Add("数量", GetType(Single))
ds.Tables.Add(dt)
'データの追加
For i = 0 To datS
dtRow = ds.Tables(0).NewRow
dtRow(0) = dat1(i) '日付セット
dtRow(1) = dat2(i) '数量セット
ds.Tables(0).Rows.Add(dtRow)
Next
'Chart に表示するデータソースを設定
Chart2.DataSource = ds
'系列を初期化
Chart2.Series.Clear()
'グラフの種類の設定
Dim bou = Chart2.Series.Add("棒グラフ")
With bou
.ChartType = DataVisualization.Charting.SeriesChartType.Column
.XValueMember = "日付"
.YValueMembers = "数量"
.IsVisibleInLegend = False
End With
End Sub
Private Sub ChartC()
'列の作成
_tbl = New DataTable
With _tbl.Columns
.Add("日付", GetType(String))
.Add("数量1", GetType(Single))
.Add("数量2", GetType(Single))
End With
'データの追加
_tbl.Rows.Add("0101", 10.0!, 100.0!)
_tbl.Rows.Add("0102", 20.0!, 200.0!)
_tbl.Rows.Add("0103", 30.0!, 300.0!)
'Chart に表示するデータソースを設定
Chart3.DataSource = _tbl
'系列を初期化
Chart3.Series.Clear()
'グラフの種類の設定
Dim bou = Chart3.Series.Add("棒グラフ1")
With bou
.ChartType = DataVisualization.Charting.SeriesChartType.Column
.XValueMember = "日付"
.YValueMembers = "数量1"
.IsVisibleInLegend = False
End With
Dim bou2 = Chart3.Series.Add("棒グラフ2")
With bou2
.ChartType = DataVisualization.Charting.SeriesChartType.Column
.XValueMember = "日付"
.YValueMembers = "数量2"
.IsVisibleInLegend = False
End With
End Sub
End Class
|
|