簡體   English   中英

如何在VB.Net圖表上顯示多個圖例

[英]How do I show multiple legends on a VB.Net Chart

我的代碼使用一個或多個ChartAreas創建了一個MS Chart,我希望每個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有人可以幫我嗎?

我找到了自己問題的答案。 我需要為每個系列分配正確的圖例,如下所示:

myChart.Series(tblName).Legend = caTag

現在,兩個圖例都顯示了適當的系列名稱

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM