循环在图表控件中创建多个系列
Posted
技术标签:
【中文标题】循环在图表控件中创建多个系列【英文标题】:Loop to create multiple series in chart control 【发布时间】:2012-05-12 11:47:35 【问题描述】:我正在尝试构建一个返回图表的函数。我想要一个参数来说明我可能需要多个系列的时间。一个循环如何创建多个系列?我认为每个系列都需要一个变量。函数如下。我认为如果有 5 个系列,那么每个“数据系列”变量都应该有自己的名称。然后我是否只通过索引来引用它们?
Public Shared Function MakeChart(ByVal form As Form, Optional ByVal numseries As Integer = 0) As Chart
' Add any initialization after the InitializeComponent() call.
Dim SampleChart As Chart = New Chart()
Dim MainChartArea As ChartArea = New ChartArea()
Dim ChartLegend As Legend = New Legend()
Dim Dataseries As Series = New Series()
Dim seriesname As String = ""
'add additonal series if the parameter exists
If numseries > 0 Then
For i As Integer = 0 To numseries - 1
seriesname = "Series" & Convert.ToString(i)
Dataseries = SampleChart.Series.Add(i)
Dataseries.Name = seriesname
Next
Else
DataSeries = SampleChart.Series.Add("Series1")
Dataseries.Name = "Series1"
End If
form.Controls.Add(SampleChart)
SampleChart.ChartAreas.Add(MainChartArea)
SampleChart.Legends.Add(ChartLegend)
SampleChart.Dock = DockStyle.Fill
SampleChart.TabIndex = 0
Return SampleChart
End Function
【问题讨论】:
【参考方案1】:索引或字符串,所以是的,您可以通过名称引用该系列:
MessageBox.Show("First Series is " & SampleChart.Series(0).Name)
或
MessageBox.Show("First Series is " & SampleChart.Series("Series0").Name)
但请注意:如果未找到该字符串,控件将抛出 ArgumentException
错误。
【讨论】:
以上是关于循环在图表控件中创建多个系列的主要内容,如果未能解决你的问题,请参考以下文章