【TeeChart .NET教程】(五)图例设计
【下载TeeChart.Net最新版本】
(一)Legend control——图例控制
图例参数可通过TeeChart编辑器,图表选项卡,图例页面:
?
图例参数访问。见传说类的帮助以获取更多信息
1.1 样式选项卡
Legend Style——图例样式
图例默认样式“自动”将在图表中只有一个系列时将系列点值放入图例中。当图表包含多个系列时,“Automatic(自动)”会将系列名称放入图例中。在编辑器中使用Dropdown Combobox获取默认值以外的值。如果用户更改图例样式以显示值,并且图表中有多个系列,TeeChart Pro将显示第一个系列的值,用户也可以使用自定义选项修改显示。在“Legend(图例)”框中显示每个系列的最后一个值:
[C#.Net]
tChart1.Legend.LegendStyle = LegendStyles.LastValues;
[VB.Net]
TChart1.Legend.LegendStyle = Steema.TeeChart.LegendStyles.LastValues
Vertical Spacing——垂直间距:
允许用户修改图例条目之间的间距。
Dividing Lines——分界线:
“Dividing Lines(分隔线)”按钮可以访问“Pen Editor”窗口,可以在其中使“Legend(图例)”条目之间的线条可见,并更改其颜色,样式和宽度。
Visible——可见:
此可见复选框启用/禁用整个图例的显示。
Inverted——倒序:
反转图例会反转图例条目的顺序。
Check Box——复选框:
将图例样式更改为“Series Names(系列名称)”,并在每个系列旁边显示一个复选框,使其不可见或可见。
Font Series Color——字体系列颜色:
将图例文本的字体颜色更改为系列颜色。
1.2 Position Tab
?
Position——位置:
使用Alignment属性有4个位置,Top,Bottom,Left和Right,右边是默认位置,图例的默认定位始终位于图表之外。
Resize Chart——调整图表大小:
“Resize Chart(调整大小图表)”属性未启用时,将在“图表”框架区域内绘制图例。虽然这对于某些Legend定位要求可能是令人满意的,但是通过使用Legend Margin属性可以更好地控制与Chart框架相关的Legend定位。
Margin:
更改Margin属性值将移动Chart框架相对于Legend,反之亦然。因此,将Margin值设为负值会将图表移动到图例上(增加图表矩形区域的大小)。
Position Offset %——位置偏移%:
0%定义为触摸右图表画布边框的水平图例和触摸顶部图标的垂直图例。
Custom
此复选框将禁用“Resize Chart(调整大小图表)”属性,并使您能够在“图表画布”的任何位置以图像为单位定位图例。
1.3 Symbols Tab
width
设置Width属性以定义颜色矩形(符号)的宽度。
Width Units
使用WidthUnits属性定义必须如何解释宽度。
position
使用“位置”属性设置颜色矩形的位置。
Continuous
使用连续属性让不同的图例颜色矩形相互流动。设置为True时,不同项目的颜色矩形将彼此固定绘制(无垂直间距)。设置为False时,颜色矩形绘制为单独的矩形。
1.4 Format Tab
Color
color属性设置Legend画布的颜色。
Frame
设置图例框架属性:可见,样式,颜色和宽度[Pen properties笔属性]。
Pattern
设置图例画布的图案:实体,填充,渐变,图像[Hatch Brush properties填充画笔属性]。
Round Frame
绕过图例框架的范围。
Transparent
使图例画布透明,只显示图例文本和符号。
Transparency
当Transparent设置为true时,设置Legend的%透明度。
1.5 Text Tab——“文本”选项卡
此页面提供对属性的访问,这些属性可更改图例文本字体的外观,字体的填充属性[填充画笔属性]和阴影。
1.6 Gradient Tab——“渐变”选项卡
使用此页面在图例画布上绘制渐变并更改其方向和颜色。
1.7 Shadow Tab——阴影选项卡
设置图例阴影的颜色,大小,图案和透明度。
1.8 Bevel Tab——斜角选项卡
设置Legend的内外斜面的颜色,大小和样式。
(二)Customising Legends
Legend事件提供完全控制定义Legend外观和内容的选项。
2.1 OnGetLegendRect事件
图例外部矩形允许更改“图例”框的整体大小和位置。与OnGetLegendPos结合使用以重新定位图表图例和内容。例如
[C#.Net]
private void tChart1_GetLegendRect(object sender, Steema.TeeChart.TChart.GetLegendRectEventArgs e) { e.Rectangle=new Rectangle(e.Rectangle.Left-100,e.Rectangle.Top,e.Rectangle.Width,e.Rectangle.Height); }
[VB.Net]
Private Sub TChart1_GetLegendRect(ByVal sender As Object, ByVal e As Steema.TeeChart.TChart.GetLegendRectEventArgs) Handles TChart1.GetLegendRect e.Rectangle = New Rectangle(e.Rectangle.Left - 100, e.Rectangle.Top, e.Rectangle.Width, e.Rectangle.Height) End Sub
2.2 OnGetLegendPos事件
修改图例的内容。以下示例可与上面的代码一起使用,将Legend内容移动到新的Legend矩形。
[C#.Net]
private void tChart1_GetLegendPos(object sender, Steema.TeeChart.TChart.GetLegendPosEventArgs e) { e.X = e.X-100; e.XColor = e.XColor-100; }
[VB.Net]
Private Sub TChart1_GetLegendPos(ByVal sender As Object, ByVal e As Steema.TeeChart.TChart.GetLegendPosEventArgs) Handles TChart1.GetLegendPos e.X = e.X - 100 e.XColor = e.XColor - 100 End Sub
2.3 OnGetLegendText事件
修改图例内容的文本
[C#.Net]
private void tChart1_GetLegendText(object sender, Steema.TeeChart.TChart.GetLegendTextEventArgs e) { if(e.Index == 3) {e.Text = e.Text + " Index no.:" + e.Index.ToString();} }
[VB.Net]
Private Sub TChart1_GetLegendText(ByVal sender As Object, ByVal e As Steema.TeeChart.TChart.GetLegendTextEventArgs) Handles TChart1.GetLegendText If e.Index = 3 Then e.Text = e.Text + " Index no.:" + e.Index.ToString End If End Sub
将图例放置在图表矩形区域内时,图例在系列和轴之前绘制,并且将出现在任何交叉点的任何一个下方。