Page tree
Skip to end of metadata
Go to start of metadata

ChartLabels 是显示在图表数据前面的标签。图表不会调整自身大小来显示下 ChartLabels,因为 ChartLabels 是完全独立的。ChartLabels 在高亮一个重要数据的时候非常有用,也能够用来在数据上或者图表上显示信息。
一个 Label 对象定义了一个独立的长方形区域,可以被附到图表中去。LabelsCollection 包含给一个特定图表定义的所有的标签。一个图表的标签可以在设计时添加到图表中,也可以通过
ChartLabels 对象编程添加。C1Chart 提供一个 Edit Labels 设计器,所以你可以使用设计器很方便地添加,删除,或者修改已经存在的标签。
下面的代码说明了如何通过定义 LabelsCollection 的索引数访问单独的 ChartLabels,

  • Visual Basic


    C1Chart1.ChartLabels.LabelsCollection(0).Text = "First label in collection"

  • C#


c1Chart1.ChartLabels.LabelsCollection[0].Text = "First label in collection";


下面的代码说明了如何通过使用 AddNewLabel 的方法创建一个 Lable 对象,


  • Visual Basic

Dim Clabel As C1.Win.C1Chart.Label
Clabel = C1Chart1.ChartLabels.LabelsCollection.AddNewLabel() 199

  • C#

C1.Win.C1Chart.Label Clabel;
Clabel = c1Chart1.ChartLabels.LabelsCollection.AddNewLabel();
一个图表包含的 ChartLabels 的个数没有限制。每个 ChartLabels 都可以自定义标签,内部
颜色,边框和附加属性。
Label 对象提供许多的属性帮助定义和定位 ChartLabel。这些属性中比较重要的有:

  • Compass 属性定义了标签围绕着锚的位置,例如,设定 Compass 属性为 East 将定位标签在锚的右边。
  • AttachMethod 属性定义了使用哪种方法将标签附到图表中去。可以使用 Coordinate,

DataCoordinate, DataIndex,或者使用 DataIndexY

  • Text 属性定义了在 ChartLabel 中显示的文本。
  • Connected 属性是布尔型,它定义了图表标签和添附位置之间是否需要画一条线,如果是 True,要画线。
  • Offset 属性定义距离,是在锚的方向,从 ChartLabel 到添加位置的距离,类型是 Long
  • DefaultLabelStyle 属性设定一个默认的风格,所有的标签都继承这个风格。例如如果默认风格的背景色被设定为了黑色,所有的要做的标签都会是黑色的背景色。

一个 Label 对象定义了一个独立的能够添附到图表中的长方形区域。LabelsCollection 包含
给一个特定图表定义的所有的标签。

 添附和定位图表的标签

当定义一个 ChartLabel,必须定义如何添附到图表以及相对于它的添附位置的哪个点添附
图表。
添附方法的选择的依据是 ChartLabel 的用途。添附方法是带有四个选项的
AttachMethodEnum 值:Coordinate, DataCoordinate, DataIndex, 和 DataIndexY.
ChartLabels 有四种方法添加到图表

  • 添附到一个像素(x,y)坐标
  • 添附到 ChartArea 的数据点(x,y)坐标
  • 添附到 ChartArea 中的一个(系列,点)
  • 添附到 ChartArea 中的一个(系列,点,Y 值)下图表示出了 ChartLabel 的添附方法


下面列出并解释了 ChartLabels 的每个添附方法

  • AttachMethodEnum.Coordinate 在图表的任何位置添加标签。定义从图表的左上角到 ChartLabels 的像素数。
  • AttachMethodEnum.DataCoordinate 在 PlotArea 的任何位置添加标签,可以定义数据坐标。这个方法在 X 轴坐标上使用 PointLabels 的饼状图上不适用。如果

ChartLabel 的任何部分超出了 ChartArea, 会被截掉。

  • AttachMethodEnum.DataIndex 在图表的指定的数据点添附标签。要定义系列,点索引和
  • ChartGroup 。
  • AttachMethodEnum.DataIndexY在指定数据点的上面或下面的一定距离添附标签。要定义系列,点索引,ChartGroup 和 Y 坐标。这个方法对条状图和堆积条形图非常有用。

使用 Label 类的 AttachMethod 属性来设定添附标签的方法,使用 AttachMethodData 的属性来设定添附的点。这些属性可以使用代码通过 Label 类来访问,也可以在设计时通过 Labels
Collection 编辑器或者 Edit Labels 设计器访问。关于在设计时使用图表智能编辑器设定 ChartLabel 方法的详细信息,请参照添附和定位图表标签。

 通过像素坐标添附图表标签

使用坐标给图表添附标签可以将标签添附到图表的任何位置。像素数定义的是图表左上角到
ChartLabel 的距离。
添附标签到坐标的一个像素,设定 AttachMethod 属性到 AttachMethodEnum.Coordinate,
并且在 AttachMethodData 对象中设定 X 和 Y 属性为添附 ChartLabel 的坐标。例如,下面的代码添附了一个 ChartLabel 到指定的坐标。

  • Visual Basic

With C1Chart1.ChartLabels.LabelsCollection(0)
.AttachMethod = AttachMethodEnum.Coordinate
.AttachMethodData.X = 250 .AttachMethodData.Y = 250
End With

  • C#


C1.Win.C1Chart.Label lab = c1Chart1.ChartLabels.LabelsCollection[0]; lab.AttachMethod = AttachMethodEnum.Coordinate; lab.AttachMethodData.X = 250; lab.AttachMethodData.Y = 250;


 通过数据坐标添附图表标签

在图表中添附一个 ChartLabel 到一个数据坐标,设定 AttachMethod 属性为
AttachMethodEnum.DataCoordinate,并且在 AttachMethodData 对象中设定添 X 和 Y 属性为添附 ChartLabel 的数据坐标。例如字码的代码添附一个 ChartLabel 到数据坐标(1.1, 15.8):

  • Visual Basic

With C1Chart1.ChartLabels.LabelsCollection(0)
.AttachMethod = AttachMethodEnum.DataCoordinate
.AttachMethodData.X = 1.1
.AttachMethodData.Y = 15.8
End With

  • C#


C1.Win.C1Chart.Label lab = c1Chart1.ChartLabels.LabelsCollection[0]; lab.AttachMethod = AttachMethodEnum.DataCoordinate; lab.AttachMethodData.X = 1.1; lab.AttachMethodData.Y = 15.8;


只有图表是 Area 或者 XY-Plot 的时候 ChartLabels 才能添附到一个数据坐标。如果 ChartLabel 的任何部分超出了 ChartArea, 会被截掉。


 使用数据点添附图表标签

添附一个 ChartLabel 到一个数据点,需要设定 AttachMethod 属性为
AttachMethodEnum.DataIndex,并且在 AttachMethodData 对象中设定 GroupIndex,
SeriesIndex 和 PointIndex 属性。这些属性定义了 ChartGroup,系列和点索引。PointIndex 适用于数据组的元素,SeriesIndex 适用于系列组的元素。每个系列有许多组数据。
下面的代码添加了一个 ChartLabel 到指定的数据点。

  • Visual Basic

With C1Chart1.ChartLabels.LabelsCollection(0)
.AttachMethod = AttachMethodEnum.DataIndex
.AttachMethodData.GroupIndex = 0
.AttachMethodData.SeriesIndex = 1
.AttachMethodData.PointIndex = 2 End With

  • C#


C1.Win.C1Chart.Label lab = c1Chart1.ChartLabels.LabelsCollection[0]; lab.AttachMethod = AttachMethodEnum.DataIndex; lab.AttachMethodData.GroupIndex = 0; lab.AttachMethodData.SeriesIndex = 1; lab.AttachMethodData.PointIndex = 2;



 通过数据点和 Y 值添附图表标签

这两个方法,通过数据坐标的方法和通过数据点的方法添附 ChartLabel 可以混合使用,这
样一个 ChartLabel 就可以添附在 X 坐标由数据点定义而 Y 坐标由一个图表值定义的位置。注意这个方法不适用于饼图。
要使用数据点和 Y 值添附 ChartLabel,设定 AttachMethod 属性为
AttachMethodEnum.DataIndexY,然后在 AttachMethodData 对象中设定 GroupIndex, SeriesIndex, PointIndex, 和 Y 属性.

  • Visual Basic

With C1Chart1.ChartLabels.LabelsCollection(0)
.AttachMethod = AttachMethodEnum.DataIndex
.AttachMethodData.GroupIndex = 0
.AttachMethodData.SeriesIndex = 1
.AttachMethodData.PointIndex = 2
.AttachMethodData.Y = 15.8
End With

  • C#


C1.Win.C1Chart.Label lab = c1Chart1.ChartLabels.LabelsCollection[0]; lab.AttachMethod = AttachMethodEnum.DataIndex; lab.AttachMethodData.GroupIndex = 0; lab.AttachMethodData.SeriesIndex = 1; lab.AttachMethodData.PointIndex = 2; lab.AttachMethodData.Y = 15.8;


在这个例子中,ChartLabel 的位置是这样定义的:
第一个数据系列的第二点的 X 坐标作为图表标签的 X 坐标
Y 属性设定的 Y 坐标作为图表标签的 Y 坐标。
注意:这个方法不适用于饼图。


 固定图表标签

一旦添附到图表中的一个点,设定 Compass 属性来设定 ChartLabel 的固定位置。这个属性有一个枚举类型的 LabelCompassEnum,下图表示出来一些正确的固定位置。

ChartLabels 中 Compass 属性的用法和相位和.NET 中其他对象的行为一样。根据定义的罗盘的方向 Label 被放置到距离点的相对位置。LabelCompassEnum.Radial 设定一般只适用于极线图,雷达图和饼图。它从图表的中间放射状地放置标签。这对一个有很多的标签要显示的图表,例如饼图,是非常方便地功能。LabelCompassEnum.Orthogonal 设定在一个系列线的垂直位置放置标签,例如如果有一个直的水平线作为系列的线,那么 Orthogonal 的位置就和 North
Compass 一样。同样有一个直的垂直的线作为系列线,那么 Orthogonal 的位置就和West
Compass 一样。

 定制图表标签

图表标签旋转图表标签旋转
使用 C1.Win.C1Chart.Style.Rotation 属性可以设定和修改一个 ChartLabel 的旋转。旋转可以在设计时设定,使用ChartLabels 对象的DefaultLabelStyle节点或者通过the Label Collection
Editor 设定。关于 Label Collection Editor 的更多信息,参见 Label Collection Editor.
C1.Win.C1Chart.Style.Rotation 可以被设定为 Rotate0, Rotate90, Rotate180, 或者
Rotate270,如果你希望设定非 90,180,270 度的特殊的角度,你可以覆盖这些值,定义围绕连接的标签点顺时针旋转的角度。
Label.RotationOverride 属性对需要特殊标志的图表非常有用,例如有很多轴的带有不同参数的连续的线像热含量,湿度,温度等等。
注意: Label.RotationOverride 不适用于 Radial 或者 RadialText 的 compass 值。
图表标签的连接线
设定 Label.Connected 为 True 就能够在数据坐标和相关的标签之间显示一条连接线。需要
给 Label.Offset 属性设定一个数字的值用来给在数据坐标和标签之间画连接线腾出空间。
下面的图显示出了10个像素偏移量的连接线。

图表标签边框
使用 BorderStyle 和 Thickness 边框属性可以定制题目的 ChartLabel。这些属性可以在设
计时设定,通过使用 ChartLabels Collection Editor 的 Style 节点。关于 ChartLabels Collection Editor的更多信息参见Label Collection Editor。这个属性也能够在DefaultLabelStyle节点设定。关于如何客户化标签外观的更详细信息参见使用属性窗口修改图表标签的外观。
图表标签颜色
使用.NET Color 属性设定 ChartLabels 的颜色。 颜色属性可以在设计时设定,通过使用
ChartLabels Collection Editor 的 Style 节点。关于 ChartLabels Collection Editor 的更多信息参见 Label Collection Editor。更多信息参见图表颜色。这个属性也能够在 DefaultLabelStyle 节点设定。
图表标签字体
使用字体属性客户化 ChartLabel 的字体。这些属性可以在设计时设定,通过使用
ChartLabels Collection Editor 的 Style 节点。关于 ChartLabels Collection Editor 的更多信息参见 Label Collection Editor。这个属性也能够在 DefaultLabelStyle 节点设定。

 设定默认的标签风格

ChartLabels对象的DefaultLabelStyle给所有现有的和将要有的 ChartLabels设定默认的风格。这个属性在很多方面都很有用,下面列出两个优点。
首先,将要有的 Labels 都继承这个属性设定的默认风格。第二,由于所有的标签都继承这个默认风格,如果默认的风格属性变更了,所有的 ChartLabels 都会按新的属性呈现。例如,假设在设计时创建了100个 ChartLabels 都有绿色的背景色,下面的代码需要添加到应用中。

  • Visual Basic


    C1Chart1.ChartLabels.DefaultLabelStyle.BackColor = Color.Green

  • C#

c1Chart1.ChartLabels.DefaultLabelStyle.BackColor = Color.Green;
如果不得不修改单独 ChartLabels 的风格属性,那么这些属性可以在指定的 ChartLabel 对
象上手工设定。

  • No labels