教程2 - 图表显示属性
图表显示特征是指那些影响图表整体外观的因素。它们包括那些定义图表背景颜色,标题,位置,页边,粗细和斜角,背景图片,框架和轴可见,画笔颜色和宽度,3D,立面等属性和方法。您可以在设计时或运行时可通过图表编辑器使用这些属性,并且您还可以在运行时以编程的方式来修改这些属性。图表的整体外观特征分为以下类别:
总体
坐标轴
标题
图例
面板
分页
立面
3D
如果您打开图表编辑器和浏览图表编辑页就会发现这些组别。 其它的属性将影响您图表的外观, 其中包括数据序列的颜色和特有的标记,个别坐标轴和网格显示的属性和标签。这些将在后面的教程中进行专门的介绍。
图表显示属性入门
添加一个新的图表到窗体中,您会看到它将显示为一个带有灰色背景的3D面板,2个立面(底部和左边),框架(定义图表plottable区域的框架)和一个默认的图表标题页眉“TeeChar” 。
右击图表并从图表编辑器的菜单中选择“Edit...”。第一页是空的数据序列页面,在本教程中我们暂不关心。选择第三个“General”标签来查看图表总体属性页面。
图表总体属性
总体选项包括以下三部分:
缩放
滚动
指针
缩放和滚动将在后面的教程中详细介绍。
坐标轴属性
坐标轴控件是一个特殊的领域并且相当的复杂,因此我们将在后面的教程中进行深入讲解。 在这里我们只介绍基本轴和框架显示内容。
第二个图表页面有定义轴和框架特征的属性。
图表中包含6个标准轴。 左边,顶部,右边,底部, 底部纵深和顶部纵深。图表框架显示为图表plottable区域和无数据(参见BackWall)对应功能的环绕形式。默认的初始化纵深是不可见的。一个数据序列被添加到图表并与这些轴(默认为左边,底部)进行关联时,其他所有的轴是可见的。在对话框上可以通过“+”和“-”两个按钮进行添加或移除自定义轴。如果想让自定义轴是可见的(关于任何其他轴),那么一个数据序列必须与轴相关联。请参阅轴控件教程了解更多自定义轴的信息。
使轴和框架能够显示的关键特性如下:
可见性
此复选框可启用或禁用所有轴的显示。如果后面的立面框架是可见的,即使轴被隐藏了图表环绕也依然可见。即使没有一个区域是为轴标签所留的,也仍会显示一个更大的图表。每个轴(比例标签)的可见性会覆盖每个轴的显示特性。如果您在列表中选择的是纵深轴,您需要注意纵深标尺默认是不可见的。
[C#.Net]
tChart1.Axes.Visible = true;
[VB.Net]
TChart1.Axes.Visible = True
坐标轴:左,右,顶部,底部,和纵深可见
在列表框中选择您想要显示或者隐藏的轴,并可以切换刻度标签上的复选框来控制该特定轴的显示。
[C#.Net]
tChart1.Axes.Left.Visible = true;
[VB.Net]
TChart1.Axes.Left.Visible = True
标题属性
TeeChart编辑器的标题页用于控制图表标题,页眉和页脚的特性。
文本
使用下拉复选框选择标题(头),子标题,页脚或子页脚。在文本框中输入所需的文本。 您可以输入多行标题。
运行时:
Header类的文本属性是一个标准的.Net字符串类,您可以像下面这样进行修改,例如:
[C#.Net]
tChart1.Header.Text = "My Header Text";
[VB.Net]
TChart1.Header.Text = "My Header Text"
对齐样式
对齐是指图表区域的页眉(或页脚)而不是指整个图表面板。图表区域是图表加上轴标签及图例的plottable区域。
运行时:
[C#.Net]
tChart1.Header.Alignment = StringAlignment.Far;
[VB.Net]
TChart1.Header.Alignment = StringAlignment.Far
位置
使用位置属性可以覆盖标题或者页脚的默认位置,并且用户可以自定义一个位置属性(像素关系到图表顶部,左边)。
运行时:
[C#.Net]
tChart1.Header.CustomPosition = true;
tChart1.Header.Top = tChart1.Header.Top + 10;
[VB.Net]
TChart1.Header.CustomPosition = True
TChart1.Header.Top = TChart1.Header.Top + 10
格式化:
包含标题框的设置,例如标题框的颜色,标题框周围框架的画笔属性, 标题框的格式刷属性[Pattern]等。
例如: 渐变
渐变指标题框或者页脚框的背景模式[填充,纹理,渐变,图片]。
默认是透明的,这意味着透明复选框未被选中前,标题框都是不可见的。
运行时:
[C#.Net]
tChart1.Header.Transparent = false;
tChart1.Header.Brush.Style = System.Drawing.Drawing2D.HatchStyle.Cross;
[VB.Net]
TChart1.Header.Transparent = False
TChart1.Header.Brush.Style = System.Drawing.Drawing2D.HatchStyle.Cross
文本
包含标题文本格式的外观特性。
例如: 字体
字体按钮将允许使用字体对话框窗口,在对话框中允许选择Windows的字体和定义(斜体,粗体等)样式和颜色。
运行时:
[C#.Net]
tChart1.Header.Font.Name = "Verdana";
tChart1.Header.Font.Bold = true;
[VB.Net]
TChart1.Header.Font.Name = "Verdana"
TChart1.Header.Font.Bold = True
阴影
页眉或页脚框阴影显示的属性。你可以定义颜色和图表格式刷 [填充,纹理,渐变或图像]。
运行时:
[C#.Net]Bevels
tChart1.Header.Shadow.Visible = true;
tChart1.Header.Shadow.Color = Color.Chartreuse;
[VB.Net]
TChart1.Header.Shadow.Visible = True
TChart1.Header.Shadow.Color = Color.Chartreuse
定义页眉框或者页脚框的 Bevels属性。
图例属性
图例的内容是一个特殊的主题,我们将在后面的教程中详细介绍。TeeChart编辑器的图例页面让您可以定义图例的外观。非常重要的
初始化步骤是控制图例对齐方式和可见属性,颜色,字体,框架,阴影等。
样式
打开/关闭图例显示和设置图例显示内容的特性(包含复选框等)。
运行时:
[C#.Net]%分界线
private void checkBox1_CheckedChanged(object sender,System.EventArgs e)
{
if(checkBox1.Checked)
{tChart1.Legend.Visible = true;}
else
{tChart1.Legend.Visible = false;}
}
[VB.Net]
Private Sub CheckBox1_CheckedChanged(ByVal sender As Object,ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged
If CheckBox1.Checked Then
TChart1.Legend.Visible = True
Else
TChart1.Legend.Visible = False
End If
End Sub
用来在两个图例框之间绘制中线。图表画笔属性是非常有用的。
运行时:
[C#.Net]
tChart1.Legend.DividingLines.Visible = true;
tChart1.Legend.DividingLines.Color = Color.Blue;
[VB.Net]
TChart1.Legend.DividingLines.Visible = True
TChart1.Legend.DividingLines.Color = Color.Blue
位置
设置默认显示位置或激活自定义的图例配置。 TChart会改变图例的形状,以适应所在的位置。如果图例被设置在图表的一侧(左或右),默认情况下,将从上到下进行排列。如果图例低于或高于图表,那么图表内容将并排放置。默认的可能会使用调整图表选项和(或)自定义配置来覆盖。您可以查看更多关于自定义图例的教程。
例如:调整图表大小
调整图表大小是指当图例绘制时图表是否离开图例的范围。 这使得图例将始终在图表区域内。
运行时:
[C#.Net]
tChart1.Legend.ResizeChart = true;
[VB.Net]
TChart1.Legend.ResizeChart = True
%顶部位置
定义图例框从图表面板顶部中进行移植。
运行时:
[C#.Net]
tChart1.Legend.CustomPosition = true;
tChart1.Legend.Top = 5;
[VB.Net]
TChart1.Legend.CustomPosition = True
TChart1.Legend.Top = 5
标记
定义图例标记的大小和格式。
%颜色 宽度
定义图例中颜色框的宽度。
运行时:
[C#.Net]
tChart1.Legend.Symbol.WidthUnits = LegendSymbolSize.Pixels;
tChart1.Legend.Symbol.Width = 30;
[VB.Net]
TChart1.Legend.Symbol.WidthUnits = Steema.TeeChart.LegendSymbolSize.Pixels
TChart1.Legend.Symbol.Width = 30
格式化
包含图例框的设置,例如颜色,框架(ChartPen属性),模式[ChartBrush属性] ,球形框架和透明复选框。
文本
图例文本的内容和阴影的文本特性。
运行时:
[C#.Net]
private void button1_Click(object sender,System.EventArgs e)
{
Legend legend1;
legend1 = tChart1.Legend;
legend1.Color = Color.Blue;
legend1.Font.Name = "Times New Roman";
legend1.Font.Color = Color.Yellow;
}
[VB.Net]
Private Sub Button1_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles Button1.Click
With TChart1.Legend
.Color = Color.Blue
.Font.Name = "Times New Roman"
.Font.Color = Color.Yellow
End With
End Sub
渐变
激活/禁用图例中渐变背景并选择其方向和颜色。
阴影
图例框阴影的显示属性。 您可以定义颜色,模式(ChartBrush)大小和透明。
运行时:
[C#.Net]斜角
tChart1.Legend.Shadow.Color = Color.Cyan;
tChart1.Legend.Shadow.Width = 4;
[VB.Net]
TChart1.Legend.Shadow.Color = Color.Cyan
TChart1.Legend.Shadow.Width = 4
颜色和内,外斜角大小的属性。
面板属性
TeeChart面板页面允许您设置参数来大大改善图表的外观。面板渐变效果在支持真彩的显示器效果是更佳的。
现在您已经熟悉了TeeChart的属性,所以在这里我们不会涵盖所有的属性。面板属性和方法,您可以通过访问面板接口:
重点领域是:
边框
您可以独立地定义边框或将它与Bevel属性一起使用。可对几乎所有的3D组合进行混合Bevel、边框以及熟练控制宽度的操作。
例如:Bevel Inner/Bevel Outer/Border Width
这些属性将在图表面板的边框生成多种3D效果。在设计时修改它们,看看它们如何影响图表边框的Bevels。
背景
例如:面板颜色
面板将用所选的颜色绘制整个图表的背景。如果您选择查看渐变背景或图像,他们将隐藏面板颜色。如果您设置了背景的颜色,它将用图表框架的颜色取代面板的颜色。
例如:背景图片
您可以选择一些位图文件来当作背景图片。使用Hatch Brush编辑器(从模式按钮),有五种不同的Wrap Modes可用来选择背景图片。
运行时:
在运行时,使用ChartBrush.LoadImage向图表添加一个背景图片。
[C#.Net]
tChart1.Panel.Brush.WrapMode = System.Drawing.Drawing2D.WrapMode.TileFlipXY;
tChart1.Panel.Brush.LoadImage(@"C:/.../MyImage.jpg");
[VB.Net]
TChart1.Panel.Brush.WrapMode = System.Drawing.Drawing2D.WrapMode.TileFlipXY
TChart1.Panel.Brush.LoadImage("C:/.../MyImage.jpg")
页边距
页边距定义为图表边缘和图表框架的距离,并且用图表面板整体尺寸的百分比来表示。
在设计时,在图表编辑器页边距框中移动spin框将显示所做改变的效果
运行时属性是:
TChart1.Panel.MarginTop
TChart1.Panel.MarginLeft
TChart1.Panel.MarginRight
TChart1.Panel.MarginBottom
您可以使用HScrollbar来修改这些属性:
[C#.Net]
private void Form1_Load(object sender,System.EventArgs e)
{
bar1.FillSampleValues(10);
hScrollBar1.Value = Convert.ToInt32(tChart1.Panel.MarginLeft);
hScrollBar1.Maximum = 80;
}
private void hScrollBar1_Scroll(object sender,System.Windows.Forms.ScrollEventArgs e)
{
tChart1.Panel.MarginLeft = Convert.ToDouble(e.NewValue);
}
[VB.Net]
Private Sub Form1_Load(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles MyBase.Load
Bar1.FillSampleValues(10)
HScrollBar1.Value = TChart1.Panel.MarginLeft
HScrollBar1.Maximum = 80
End Sub
Private Sub HScrollBar1_Scroll(ByVal sender As Object,ByVal e As System.Windows.Forms.ScrollEventArgs) Handles HScrollBar1.Scroll
TChart1.Panel.MarginLeft = e.NewValue
End Sub
渐变
要定义渐变您必须选择一个StartColor和EndColor(加上或者可选MidColor),使其成为可见的渐变效果。 渐变将覆盖整个图表面板。 渐变方向定义了StartColor,MidColor,EndColor之间颜色变化的方向。
运行时:
[C#.Net]
tChart1.Panel.Gradient.Visible = true;
tChart1.Panel.Gradient.StartColor = Color.Red;
tChart1.Panel.Gradient.MiddleColor = Color.White;
tChart1.Panel.Gradient.EndColor = Color.Blue;
tChart1.Panel.Gradient.Direction = System.Drawing.Drawing2D.LinearGradientMode.ForwardDiagonal;
[VB.Net]
With TChart1.Panel
.Gradient.Visible = True
.Gradient.StartColor = Color.Red
.Gradient.MiddleColor = Color.White
.Gradient.EndColor = Color.Blue
.Gradient.Direction = System.Drawing.Drawing2D.LinearGradientMode.ForwardDiagonal
End With
阴影
定义图表面板阴影的大小,颜色,模式[ChartBrush]和透明等属性。
页面属性
TeeChart页允许图表被划分为每页设置数字,而且图表可以根据这些数字进行翻阅。更多信息请见页面教程。
立面属性
在TeeChart编辑器的图表区页面对图表的立面属性进行设置。 这里有四种立面:左,右,底部和后面,它们都可能是2D或3D的。
立面属性可以通过TChart1.Walls获得。
颜色
通过颜色按钮您将看到颜色编辑器,您可以为选定的立面选择一个颜色。
边框
通过边框按钮您可用ChartPen定义立面类。ChartPen与其它TeeChart项目所用到的画笔是一样的。
可见属性启用/禁用边框的显示特性。 就BackWall而言,它里面的轴是可见的,这些立面的边框将会隐藏在这些轴的后面,即便您隐藏部分或所有的轴,您都只能看见启用或禁用边框的效果(例如隐藏轴线上方和右侧来观察改变立面边颜色的结果,即TChart1.Walls.Back.Pen.Color = Color.Blue)。
查看ChartPen关于绘图笔的另外一些特性。您可以在设计时修改这些属性。
模式
通过模式按钮您将看到ChartBrush关于Walls类的定义。ChartBrush与其它TeeChart项目所用到的格式刷是一样的。
渐变
通过渐变按钮您将看到渐变编辑器,您可以为已经选定的立面选定渐变色。
3D
3D在TeeChart Pro.中是非常灵活的。你现在可以选择图表显示为:
3 Dimensions
在设计时,选择此属性(切换)可将图表从3D变成2D,而在运行时您将看到这些设置的效果。
3D %
控制3D效果的纵深。在设计时,修改此属性的值您将看到改变3D百分比所产生的效果。
使用CheckBox和Horizontal ScrollBar这些属性的一个应用实例:
[C#.Net]
private void checkBox1_CheckedChanged(object sender,System.EventArgs e)
{
if(checkBox1.Checked)
{
tChart1.Aspect.View3D = true;
hScrollBar1.Enabled = true;
}
else
{
tChart1.Aspect.View3D = false;
hScrollBar1.Enabled = false;
}
}
private void hScrollBar1_Scroll(object sender,System.Windows.Forms.ScrollEventArgs e)
{
tChart1.Aspect.Chart3DPercent = e.NewValue;
}
[VB.Net]
Private Sub CheckBox1_CheckedChanged(ByVal sender As Object,ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged
If CheckBox1.Checked Then
TChart1.Aspect.View3D = True
HScrollBar1.Enabled = True
Else
TChart1.Aspect.View3D = False
HScrollBar1.Enabled = False
End If
End Sub
Private Sub HScrollBar1_Scroll(ByVal sender As Object,ByVal e As System.Windows.Forms.ScrollEventArgs) Handles HScrollBar1.Scroll无论Orthogonal选项是启用还是禁用,Windows Native 3D 模式都允许您进行旋转,提升和偏移图表操作。通过缩放选项,您可以显示或移除整个图表。缩放图表的数据序列在运行时仍然是可用。
TChart1.Aspect.Chart3DPercent = e.NewValue
End Sub
Perspective属性允许您设置透视的距离,就像进入一个房间进行寻找。 Perpsective提供了一个用于增强图表的视觉演示功能。对于3D操作的参考资料请查看 教程15-3D图表.