循环在图表控件中创建多个系列

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 错误。

【讨论】:

以上是关于循环在图表控件中创建多个系列的主要内容,如果未能解决你的问题,请参考以下文章

如何向 ASP.NET 3.5 图表控件添加图例?

怎么用图表控件FineReport做图表

以编程方式将系列添加到 OxyPlot 图表:没有显示

关于flex图表控件问题

WinForm图表控件:将图表保存到文件时更改图表大小

WPF控件动态移动问题