版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的
Legend类是图表图像的图例,它封装图例的所有功能。每个图表图像可具有任意数量的图例。
Legend类常用的属性:
- Alignment:图例的对齐方式。
- AutoFitMinFontSize:图例文本自动调整算法的最小字号。
- Back?:图例背景相关的设置。
- Border?:图例边框相关设置。
- CellColumns:图例单元格列的集合,这是一个LegendCellColumnCollection对象。
- DockedToChartArea:图例将停靠于其上的 ChartArea 的名称。
- Font?:图例字体相关设置。
- InsideChartArea:绘制图例的图表区域的名称。
- InterlacedRows:图列行是否由交错背景色绘制。需要将LegendStyle属性设置为Column或者Table,能够显示出“行”才行。
- InterlacedRowsColor:图例交替行的背景色。
- IsEquallySpacedItems:所有图例项是否均等间距分布。
- IsTextAutoFit:图例文本是否自动调整大小。
- ItemColumn?:图例表列的分隔符、颜色、间距。 需要将LegendStyle属性设置为Row或者Table,能够显示出“列”才行。
- LegendStyle:图例样式。这是一个LegendStyle枚举,包括以下成员:
- Column :使用一列和多行显示图例项。
- Row:使用多列和一行显示图例项。
- Table:使用多列和多行显示图例项。
- MaximumAutoSize:获取或设置图例的最大大小(以图表区域的百分比形式表示)。此值由自动布局算法使用。
- Position:图例位置,这是一个DataVisualization.Charting.ElementPosition对象。ElementPosition类有点像Rectangle结构,有Width、Height、X、Y四个属性,但是这几个属性是按照图表区域的百分比计算大小,取值在0至100之间。
- ShadowColor:图例的阴影颜色。
- ShadowOffset:图例的阴影偏移量(以像素为单位)。
- TableStyle:图例表样式。这是一个LegendTableStyle枚举,包括以下成员:
- Auto:图例表样式自动确定。
- Tall:图例项将垂直布置在图例中。
- Wide:图例项将水平布置在图例中。
这个属性和LegendStyle有点相似,但是实际使用的时候,以LegendStyle显示为先。
- 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#教程 目录