如何在VB.Net图表上显示多个图例

时间:2016-10-25 08:29:54

标签: vb.net charts legend

我的代码创建了一个包含一个或多个ChartAreas的MS图表,我想为每个ChartArea创建一个单独的图例 我的代码如下:

                For tblNum = 0 To (dsData.Tables.Count - 1)

                tblName = dsData.Tables(tblNum).TableName
                caTag = dtReport.Rows(tblNum).Item("caTag")
                If (dtReport.Rows(tblNum).Item("CAnum") > CAnum) Then
                    CAnum = dtReport.Rows(tblNum).Item("CAnum")
                    myChart.ChartAreas.Add(caTag)
                    myChart.Legends.Add(caTag)
                    With myChart.Legends(caTag)
                        .Docking = Docking.Bottom
                        .DockedToChartArea = caTag
                        .IsDockedInsideChartArea = False
                        .TableStyle = LegendTableStyle.Wide
                        .Alignment = StringAlignment.Center
                        .Enabled = True
                    End With
                    If (caCount > 1) Then
                        CAindex += 1
                        myChart.Titles.Add(caTag)
                        With myChart.Titles(CAindex)
                            .Docking = Docking.Top
                            .DockedToChartArea = caTag
                            .IsDockedInsideChartArea = False
                            .Alignment = ContentAlignment.TopCenter
                            .Font = New System.Drawing.Font("Times New Roman", 14, FontStyle.Bold)
                            .Text = caTag
                        End With
                    End If
                Else
                    myChart.Legends(caTag).Enabled = True
                End If

但是,当我运行代码时,只能看到包含ChartAreas中所有系列的单个图例,如下所示: Legend-1.jpg 有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:0)

我找到了自己问题的答案。 我需要为每个系列分配正确的图例,如下所示:

myChart.Series(tblName).Legend = caTag

现在两个图例都显示了相应的系列名称

相关问题