Bootstrap

8.5.4.2 Legend类

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的

Legend类是图表图像的图例,它封装图例的所有功能。每个图表图像可具有任意数量的图例。

Legend类常用的属性:

  1. Alignment:图例的对齐方式。
  2. AutoFitMinFontSize:图例文本自动调整算法的最小字号。
  3. Back?:图例背景相关的设置。
  4. Border?:图例边框相关设置。
  5. CellColumns:图例单元格列的集合,这是一个LegendCellColumnCollection对象。
  6. DockedToChartArea:图例将停靠于其上的 ChartArea 的名称。
  7. Font?:图例字体相关设置。
  8. InsideChartArea:绘制图例的图表区域的名称。
  9. InterlacedRows:图列行是否由交错背景色绘制。需要将LegendStyle属性设置为Column或者Table,能够显示出“行”才行。 
  10. InterlacedRowsColor:图例交替行的背景色。
  11. IsEquallySpacedItems:所有图例项是否均等间距分布。
  12. IsTextAutoFit:图例文本是否自动调整大小。
  13. ItemColumn?:图例表列的分隔符、颜色、间距。 需要将LegendStyle属性设置为Row或者Table,能够显示出“列”才行。
  14. LegendStyle:图例样式。这是一个LegendStyle枚举,包括以下成员:
  1. Column :使用一列和多行显示图例项。
  2. Row:使用多列和一行显示图例项。
  3. Table:使用多列和多行显示图例项。
  1. MaximumAutoSize:获取或设置图例的最大大小(以图表区域的百分比形式表示)。此值由自动布局算法使用。
  2. Position:图例位置,这是一个DataVisualization.Charting.ElementPosition对象。ElementPosition类有点像Rectangle结构,有Width、Height、X、Y四个属性,但是这几个属性是按照图表区域的百分比计算大小,取值在0至100之间。
  3. ShadowColor:图例的阴影颜色。
  4. ShadowOffset:图例的阴影偏移量(以像素为单位)。
  5. TableStyle:图例表样式。这是一个LegendTableStyle枚举,包括以下成员:
    1. Auto:图例表样式自动确定。
    2. Tall:图例项将垂直布置在图例中。
    3. Wide:图例项将水平布置在图例中。

这个属性和LegendStyle有点相似,但是实际使用的时候,以LegendStyle显示为先。

  1. Title?:图例标题相关设置。

【例 8A.5【项目:code8A-005】操作图例。

……代码同【例 8A.4

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

        ……代码同【例 8A.4】

    End Sub

     ‘增加图例说明

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click

        Dim lg As System.Windows.Forms.DataVisualization.Charting.Legend

        lg = Chart1.Legends(0)

        lg.BackColor = Color.AntiqueWhite

        lg.Title = "太阳系前三公司年度收入"

        lg.BorderWidth = 1

        lg.BorderColor = Color.Black

        lg.LegendStyle = DataVisualization.Charting.LegendStyle.Column

    End Sub

运行后图例明显好看多了:

图8A-11 图例

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

        Dim lg As System.Windows.Forms.DataVisualization.Charting.Legend

        lg = Chart1.Legends(0)

        Dim lgPosition As New DataVisualization.Charting.ElementPosition()

        lgPosition.X = 30

        lgPosition.Y = 0

        lgPosition.Width = 50

        lgPosition.Height = 5

        lg.Position = lgPosition

    End Sub

运行后图例位置变到了正上方,但是被图表挡住了:

图8A-12 修改后的图例位置

    '改良的图例显示

    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click

        Dim lg As System.Windows.Forms.DataVisualization.Charting.Legend

        lg = Chart1.Legends(0)

        Dim lgPosition As New DataVisualization.Charting.ElementPosition()

        lgPosition.X = 30

        lgPosition.Y = 0

        lgPosition.Width = 50

        '增加了图例高度

        lgPosition.Height = 15

        lg.Position = lgPosition

        lg.LegendStyle = DataVisualization.Charting.LegendStyle.Row

        '同时修改了图表区域的位置

        Dim area As New DataVisualization.Charting.ChartArea()

        area.BackColor = Color.Beige

        area.Position = New DataVisualization.Charting.ElementPosition(0, 15, 100, 85)

        Chart1.ChartAreas(0) = area

    End Sub

运行后图例已经不再被图表遮挡:

图8A-13 改良后的图例显示位置

学习更多vb.net知识,请参看vb.net 教程 目录

学习更多C#知识,请参看C#教程 目录

;