共用方式為


自訂圖例項目 (Chart 控制項)

根據預設,每個圖例項目都會繫結至數列,而且其屬性對所有數列都是相同的。您可以使用未繫結至任何數列的自訂圖例項目,調整每個資料格的外觀、位置和邊界。若要這麼做,請使用 Legend.CustomItems 集合屬性 (LegendItemCollection 物件) 將自訂圖例項目 (LegendItem 物件) 加入圖例中。這個集合中的圖例項目永遠會附加至圖例中其他圖例項目的結尾。

Legend.CustomItems 集合中的圖例項目可讓您進行下列自訂作業:

  • 使用 LegendItem.ImageStyle 屬性指定符號。從矩形、線條和標記中選擇。

  • 使用 LegendItem.ImageLegendItem.MarkerImage 屬性,將影像做為符號使用。

  • 將資料格加入圖例中。

  • 調整每個資料格的外觀、位置和邊界。

在自訂圖例項目中使用資料格

若要將圖例資料格 (LegendCell 物件) 加入至自訂圖例項目,請使用 LegendItem.Cells 集合屬性 (LegendCellCollection 物件)。

LegendCell.CellType 屬性中指定資料格類型。如果您將這個屬性設為 LegendCellType.SeriesSymbol,圖例資料格會使用容器圖例項目所使用的符號。

若要將兩個相鄰資料格合併為一個資料格,例如容納較長的字串,請使用 LegendCell.CellSpan 屬性。

當圖例項目中至少有一個圖例資料格時,圖例項目的外觀屬性沒有任何作用。

下列程式碼在執行階段使用具有圖例資料格的自訂圖例項目,以顯示具有最高統計平均值的區域。

Dim avgWA As Double = Chart1.DataManipulator.Statistics.Mean("WA") 
Dim avgOR As Double = Chart1.DataManipulator.Statistics.Mean("OR") 
Dim avgCA As Double = Chart1.DataManipulator.Statistics.Mean("CA") 
Dim top As String = (If(avgWA >= avgOR, "Washington", "Oregon")) 
If avgCA >= avgWA AndAlso avgCA >= avgOR Then 
   top = "California" 
End If 

Dim newItem As New LegendItem() 
newItem.ImageStyle = LegendImageStyle.Marker 
newItem.MarkerStyle = MarkerStyle.Diamond 
newItem.Cells.Add(LegendCellType.SeriesSymbol, "", ContentAlignment.MiddleCenter) 
newItem.Cells.Add(LegendCellType.Text, "State Average =", ContentAlignment.MiddleCenter) 
newItem.Cells(1).CellSpan = 2 
newItem.Cells.Add(LegendCellType.Text, "", ContentAlignment.MiddleCenter) 
newItem.Cells.Add(LegendCellType.Text, top, ContentAlignment.MiddleCenter) 
Chart1.Legends(0).CustomItems.Add(newItem) 
double avgWA = Chart1.DataManipulator.Statistics.Mean("WA");
double avgOR = Chart1.DataManipulator.Statistics.Mean("OR");
double avgCA = Chart1.DataManipulator.Statistics.Mean("CA");
String top = (avgWA >= avgOR ? "Washington":"Oregon");
if (avgCA >= avgWA && avgCA >= avgOR) 
   top = "California";

LegendItem newItem = new LegendItem();
newItem.ImageStyle = LegendImageStyle.Marker;
newItem.MarkerStyle = MarkerStyle.Diamond;
newItem.Cells.Add(LegendCellType.SeriesSymbol, "", ContentAlignment.MiddleCenter);
newItem.Cells.Add(LegendCellType.Text, "State Average =", ContentAlignment.MiddleCenter);
newItem.Cells[1].CellSpan = 2;
newItem.Cells.Add(LegendCellType.Text, "", ContentAlignment.MiddleCenter);
newItem.Cells.Add(LegendCellType.Text, top, ContentAlignment.MiddleCenter);
Chart1.Legends[0].CustomItems.Add(newItem);

請參閱

參考

System.Windows.Forms.DataVisualization.Charting

System.Web.UI.DataVisualization.Charting

其他資源

圖例