我的代码创建了一个包含一个或多个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 有人可以帮帮我吗?
答案 0 :(得分:0)
我找到了自己问题的答案。 我需要为每个系列分配正确的图例,如下所示:
myChart.Series(tblName).Legend = caTag
现在两个图例都显示了相应的系列名称