Share via


图表控件中的标签

在图表控件中,可以使用轴标签和数据点标签显示更多的图表信息。

使用轴标签

图表控件通过三种不同方式为图表区轴添加标签,优先级从低至高分别为:

  • 使用数字添加轴标签

  • 使用文本添加轴标签

  • 使用自定义标签添加轴标签

这些方法的主要区别是标签文本的生成方式。可以为各个轴使用不同的方法。例如,为 Y 轴使用一组自定义标签,而为 X 轴使用文本标签。

Dd456628.collapse_all(zh-cn,VS.140).gif使用数字添加轴标签

如果轴不包含自定义标签,而且绘制的数据没有轴标签,则图表控件将自动以 Axis.Interval 属性指定的间隔显示轴标签。有关该属性的更多信息,请参见

Dd456628.collapse_all(zh-cn,VS.140).gif使用文本添加轴标签

可以使用 DataPoint.AxisLabel 属性根据您的特定数据集添加轴标签。用标签字符串设置此属性之后,图表将在轴的数据点位置显示该标签字符串。

备注

当图表控件包含大型数据集时,它可以有选择地显示轴标签。若要确保所有轴标签可见,请将 Axis.Interval 属性设置为 1。

下面的代码示例在轴上为两个数据点设置两个标签。

Chart1.Series("Default").Points(0).AxisLabel = "First Point"
Chart1.Series("Default").Points(1).AxisLabel = "Second Point"
Chart1.Series["Default"].Points[0].AxisLabel = "First Point";
Chart1.Series["Default"].Points[1].AxisLabel = "Second Point";

Dd456628.collapse_all(zh-cn,VS.140).gif使用自定义标签添加轴标签

使用自定义标签可为轴提供自定义文本。自定义标签是使用 CustomLabels 集合属性实现的。如果使用自定义标签,则图表区不会显示数据点的轴标签。

使用 CustomLabel 对象时,必须设置每个 CustomLabel 对象的 ToPositionFromPosition 属性,并且这些属性必须指定标签文本区域的宽度。不要为这两个属性指定相同的值,因为它们表示一个范围。若要直接在数据点及其关联的刻度线下定位自定义标签,请将 FromPosition 属性设置为该数据点的轴值减去二分之一刻度线间隔,并将 ToPosition 属性设置为该数据点的轴值加上二分之一刻度线间隔。例如,如果轴的间隔为 1 (1, 2, 3,…),而您要在 X=2 处使用自定义标签,则将 ToPositionFromPosition 属性分别设置为 1.5 和 2.5。

RowIndex 属性指定自定义标签显示在哪行上。如果第一个标签行中使用了自定义标签,则图表区不会显示任何轴刻度标签。在第二行及其他行上仅允许使用自定义标签。

Dd456628.collapse_all(zh-cn,VS.140).gif轴标签的样式和格式

可以使用 Axis 对象的 LabelStyle 属性设置轴标签样式。在此属性中设置的标签样式属性(例如 LabelStyle.Font)应用于轴标签。如果轴标签相互离得太近,可以将 LabelStyle.LabelsAutoFitLabelStyle.Offset 属性设置为 True。

若要使用数字添加轴标签,还可使用 LabelStyle.Format 属性设置数字的格式。

下面的代码演示如何将主 Y 轴的格式设置为货币格式。

Chart1.ChartAreas("Default").AxisY.LabelStyle.Format = "C"
Chart1.ChartAreas["Default"].AxisY.LabelStyle.Format = "C";

下面的代码在主 X 轴上显示一周的某天。有关在轴标签上显示日期和时间值的更多信息,请参见使用日期和时间值

Chart1.ChartAreas("Default").AxisX.LabelStyle.Format = "dddd"
Chart1.ChartAreas["Default"].AxisX.LabelStyle.Format = "dddd";

为数据点添加标签

可以在绘制区显示数据点标签。若要将数据点值显示为标签,请使用 SeriesDataPoint 对象的 IsValueShownAsLabel 属性。若要将其他文本显示为数据点标签,请使用 Series.Label 属性。

若要在标签中使用数据,请使用 Series.Label 属性中的关键字。在运行时,图表会将关键字替换为相应的值。例如,下面的代码为每个数据点显示多行标签,其中 Y 值显示在第一行,X 值显示在第二行。

Chart1.Series("Series1").Label = "Y = #VALY" + ControlChars.Lf + "X = #VALX"
Chart1.Series["Series1"].Label = "Y = #VALY\nX = #VALX";

有关更多信息,请参见关键字

Dd456628.collapse_all(zh-cn,VS.140).gif使用智能标签

可以根据图表类型,使用 Series.SmartLabelStyle 属性设置不会冲突的数据点标签。这适用于数据点簇聚在一起的情形。

备注

Series.SmartLabelStyle 属性对以下图表类型无效:条形图范围条形图饼图圆环图范围柱形图堆积面积图百分比堆积面积图堆积条形图百分比堆积条形图

若要启用智能标签,请使用下面的代码。

Chart1.Series("Series1").SmartLabelStyle.Enabled = true
Chart1.Series["Series1"].SmartLabelStyle.Enabled = true;

然后可以使用 SmartLabelStyle 的属性(例如 CalloutStyleCalloutLineColor)来控制智能标签的外观。

请参见

参考

System.Windows.Forms.DataVisualization.Charting

System.Web.UI.DataVisualization.Charting

其他资源

使用图表控件