图表控件中的图例

图例用于区分图表图片中的序列与数据点。图例存储为 Chart.Legends 集合属性中的 Legend 对象。

默认情况下,图例不停靠在图表区,而是显示在所有图表区的外部。使用 Legend 对象的 DockedToChartArea 属性可以将图例停靠到图表区。使用 Series 对象的 Legend 属性可以为每个序列分别分配一个图例。

在大多数图表类型中,每个图例项都表示一个绘制的序列。在饼图、圆环图、漏斗图或棱锥图中,每个图例项都表示序列中的一个数据点。

默认情况下,图表控件自动在图例中创建两列,一列指示所绘制的数据的颜色,另一列显示图例文本。可以在 Series.LegendText 属性或 DataPoint.LegendText 属性中指定图例文本。

在运行时添加图例

若要在运行时将图例添加到图表,请确保该图例停靠在正确的图表区、已分配给了一个数据序列并且该数据序列的 IsVisibleInLegend 属性设置为**“true”**。下面的代码对此进行了演示。

' Create a new legend called "Legend2".
Chart1.Legends.Add(New Legend("Legend2"))

' Set Docking chart of the legend to the Default chart area.
Chart1.Legends("Legend2").DockToChartArea = "Default"

' Assign the legend to Series1.
Chart1.Series("Series1").Legend = "Legend2"
Chart1.Series("Series1").IsVisibleInLegend = true
// Create a new legend called "Legend2".
Chart1.Legends.Add(new Legend("Legend2"));

// Set Docking of the Legend chart to the Default Chart Area.
chart1.Legends["Legend2"].DockToChartArea = "Default"; 

// Assign the legend to Series1.
Chart1.Series["Series1"].Legend = "Legend2";
Chart1.Series["Series1"].IsVisibleInLegend = true;

使用 Legend 对象中的属性可自定义图例的外观,如 DockingAlignmentIsDockedInsideChartAreaPositionTableStyleLegendStyleMaximumAutoSizeFontInterlacedRows

使用标题、列标题和列

下图演示各种图例功能以及 Legend 对象中的相应属性。

Chart_Legend_Features

备注

不能调整 Chart.Legends 集合中的单个图例项和单元格。若要进行调整,请使用自定义图例项

使用 Legend.Title 属性指定图例标题时,请使用 \n 指示新行。也可以使用关键字,以便文本可以根据数据序列而更改。有关更多信息,请参见关键字

若要自定义图例中的列数,请使用 Legend.CellColumns 集合属性。此属性中的列应用于自动生成的每个图例项。

下面的代码演示 Legend.CellColumns 属性和关键字的使用。这段代码添加三个列:一列用于序列名称,一列用于序列符号,另一列用于每个序列中数据的平均值。

Chart1.Legends["Legend2"].CellColumns.Add(New LegendCellColumn("Name", LegendCellColumnType.Text, "#LEGENDTEXT"))
Chart1.Legends["Legend2"].CellColumns.Add(New LegendCellColumn("Sym", LegendCellColumnType.SeriesSymbol, ""))
Chart1.Legends["Legend2"].CellColumns.Add(New LegendCellColumn("Avg", LegendCellColumnType.Text, "#AVG{N2}"))
Chart1.Legends["Legend2"].CellColumns.Add(new LegendCellColumn("Name", LegendCellColumnType.Text, "#LEGENDTEXT"));
Chart1.Legends["Legend2"].CellColumns.Add(new LegendCellColumn("Sym", LegendCellColumnType.SeriesSymbol,""));
Chart1.Legends["Legend2"].CellColumns.Add(new LegendCellColumn("Avg", LegendCellColumnType.Text, "#AVG{N2}"));

使用 LegendCellColumn 对象的属性(如 MinimumWidthMaximumWidthAlignmnentMarginsHeaderTextItemColumnsSeparator)可以调整每一列的外观。

请参见

概念

自定义图例项

其他资源

使用图表控件