【TeeChart .NET教程】(二)圖表顯示屬性
【下載TeeChart.Net最新版本】
圖表顯示功能是影響圖表整體外觀的功能。它們包括定義圖表背景顏色的屬性和方法,標(biāo)題及其位置,邊距,邊框和斜面,背景圖像,框架和軸可見,筆顏色和寬度,3D,墻壁等。
幾乎所有這些屬性都是可以在設(shè)計(jì)或運(yùn)行時(shí)通過TeeChart Editor獲得,您可以在運(yùn)行時(shí)以編程方式修改這些屬性。整體圖表外觀特征分為以下類別:
- General:常規(guī)
- Axis:軸
- Titles:標(biāo)題
- Legend:圖例
- Panel:面板
- Paging:分頁(yè)
- Walls:墻
- 3D
如果用戶打開TeeChart編輯器并瀏覽圖表頁(yè)面,則可以找到這些分組。其他屬性會(huì)影響圖表的“外觀”。這些包括系列顏色和標(biāo)記特征,單獨(dú)的軸和網(wǎng)格顯示屬性和標(biāo)簽。這些將在稍后專門介紹這些功能的專家角色的教程中處理。
圖表顯示屬性入門
向表單添加一個(gè)新圖表,將看到它以3D顯示,帶有灰色面板背景,2個(gè)墻(底部和左側(cè)),框架(定義圖表可繪制區(qū)域的框架)和默認(rèn)值圖表標(biāo)題標(biāo)題“TeeChart”。
右鍵單擊圖表并從菜單中選擇“Edit ...”以訪問TeeChart編輯器。第一頁(yè)是系列頁(yè)面,它是空的。選擇第三個(gè)“圖表”選項(xiàng)卡“常規(guī)”以訪問“常規(guī)圖表”屬性頁(yè)面。
常規(guī)圖表屬性
常規(guī)選項(xiàng)包括以下3個(gè)部分:
- Zoom :縮放
- Scroll :滾動(dòng)
- Cursor :光標(biāo)
Axis:軸屬性
在最復(fù)雜的復(fù)雜程度上,軸的控制是一個(gè)非常專業(yè)的領(lǐng)域,并在后面的教程中進(jìn)行更深入的處理。在這里,我們將介紹Axis和Frame顯示的基礎(chǔ)知識(shí)。
第二個(gè)Chart頁(yè)面包含用于定義軸和框架特征的屬性。
圖表中有6個(gè)主軸。左,上,右,下,深度底部和深度頂部。圖表框顯示為圖表可繪制區(qū)域的環(huán)繞,并且沒有數(shù)據(jù)對(duì)應(yīng)的功能。默認(rèn)情況下,Depth初始化為不可見。從系列添加到圖表并與這些軸關(guān)聯(lián)的那一刻(默認(rèn)為左和底),所有其他軸都可見??梢允褂脤?duì)話框上的+和 - 鍵添加/刪除自定義軸。要使自定義軸可見(與任何其他軸一樣),系列必須與軸關(guān)聯(lián)。有關(guān)自定義軸的更多信息,請(qǐng)參見Axis教程。
啟用軸和框架顯示的關(guān)鍵屬性是:
Visible
此復(fù)選框啟用或禁用所有軸的顯示。如果后墻框架可見,則隱藏軸時(shí)圖表環(huán)繞仍然可見。結(jié)果將是更大的圖表的外觀,因?yàn)闆]有為軸標(biāo)簽保留區(qū)域。每個(gè)軸(“標(biāo)尺”選項(xiàng)卡)的“可見”屬性將覆蓋每個(gè)軸的可見特征。如果在列表中選擇深度軸,則會(huì)注意到Depth Axis Scales.Visible默認(rèn)為“'not visible”。
[C#.Net]
tChart1.Axes.Visible = true;
[VB.Net]
TChart1.Axes.Visible = True
軸:左,右,上,下和深可見
選擇要在列表框中顯示或隱藏的軸,并在“比例”選項(xiàng)卡上切換“visible”復(fù)選框以控制該特定軸的顯示。
[C#.Net]
tChart1.Axes.Left.Visible = true;
[VB.Net]
TChart1.Axes.Left.Visible = True
Title:標(biāo)題
TeeChart Editor的Titles頁(yè)面控制圖表標(biāo)題,頁(yè)眉和頁(yè)腳的特征。
Text
使用下拉組合框選擇標(biāo)題(標(biāo)題),子標(biāo)題,英尺或子圖標(biāo)。在文本框中輸入所需的文本。您可以輸入多行標(biāo)題。
運(yùn)行時(shí):
Header類的Text屬性是標(biāo)準(zhǔn)的.Net String類,可以這樣修改,例如:
[C#.Net]
tChart1.Header.Text = "My Header Text";
[VB.Net]
TChart1.Header.Text = "My Header Text"
樣式對(duì)齊
對(duì)齊是指與圖表區(qū)域相對(duì)的頁(yè)眉(或頁(yè)腳)對(duì)齊而不是整個(gè)圖表面板。圖表區(qū)域是圖表加軸標(biāo)簽和圖例的可繪圖區(qū)域。
Runtime:
[C#.Net]
tChart1.Header.Alignment = StringAlignment.Far;
[VB.Net]
TChart1.Header.Alignment = StringAlignment.Far
Position:位置
使用位置覆蓋標(biāo)題或頁(yè)腳默認(rèn)位置并設(shè)置自定義位置(與圖表頂部,左側(cè)的像素關(guān)系)。
Runtime:
[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
Format:格式
包含“標(biāo)題”框的設(shè)置,例如框的顏色,框周圍框的筆屬性,框的畫筆屬性[圖案]等。例如,圖案,模式是指背景圖案[實(shí)心,陰影,漸變或標(biāo)題或頁(yè)腳框的圖像]。
默認(rèn)值為“Transparent:透明”,表示在取消選中“透明”復(fù)選框之前,“標(biāo)題”框不可見。
Runtime:
[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
Text:文本
包含標(biāo)題文本外觀格式特征。例如,字體:字體按鈕將授予對(duì)“字體對(duì)話框”窗口的訪問權(quán)限,該窗口允許選擇Windows字體和樣式(斜體,粗體等)和顏色的定義。
Runtime:
[C#.Net]
tChart1.Header.Font.Name =“Verdana”; tChart1.Header.Font.Bold = true;
[VB.Net]
TChart1.Header.Font.Name =“Verdana” TChart1.Header.Font.Bold = True
Shadow:陰影
屬性,用于顯示頁(yè)眉或頁(yè)腳框陰影。您可以定義顏色和ChartBrush [solid,hatch,gradient或image]。
Runtime:
[C#.Net]
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:斜杠
定義頁(yè)眉或頁(yè)腳框的斜角屬性。
Legend:圖例
圖例內(nèi)容是專業(yè)主題,將在后面的教程中處理。在TeeChart Editor的Legend頁(yè)面中,用戶可以定義Legend的外觀方面。重要的初始步驟是控制圖例對(duì)齊和可見屬性,顏色,字體,框架,陰影等。
Style:樣式
切換開/關(guān)圖例顯示和設(shè)置圖例顯示內(nèi)容特征(包括復(fù)選框等)。
Runtime:
使用復(fù)選框控制圖例顯示的示例:
[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
%Divided Lines:用于在Legend條目之間的Legend框中繪制線條。ChartPen屬性適用。
Runtime:
[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
Position:位置
設(shè)置默認(rèn)顯示位置或啟用圖例的自定義位置。TChart將改變圖例的形狀以適合該位置。如果圖例設(shè)置為圖表的側(cè)面(左側(cè)或右側(cè)),默認(rèn)情況下,圖例的內(nèi)容將從上到下列為列表。如果圖例位于圖表下方或上方,則圖例內(nèi)容并排放置。可以使用“調(diào)整大小圖表”選項(xiàng)和/或使用“自定義”定位來(lái)覆蓋默認(rèn)行為。有關(guān)Legend的自定義定位的更多信息,請(qǐng)參閱Legend教程。
例如,ResizeChart
Resize Chart定義圖表在繪制時(shí)是否為L(zhǎng)egend留出空間。這允許圖例放置在圖表區(qū)域內(nèi)。
Runtime:
[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
%頂部位置:定義圖表面板頂部的圖例框位移。
Runtime:
[C#.Net]
tChart1.Legend.CustomPosition = true; tChart1.Legend.Top = 5;
[VB.Net]
TChart1.Legend.CustomPosition = True TChart1.Legend.Top = 5
Symbols
圖例符號(hào)的大小和格式。
%顏色寬度:定義圖例中顏色框的寬度。
Runtime:
[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
Format:格式
包含“圖例”框的設(shè)置,例如“顏色”,“框架”(ChartPen屬性),“圖案”(ChartBrush屬性)以及“圓形框架”和“透明”的復(fù)選框。
Text:文本
文本內(nèi)容及其陰影的文本特征。
Runtime:
[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
Gradient:漸變
在“圖例”框中啟用/禁用“背景漸變”,然后選擇其方向和顏色。
Shadow:陰影
屬性用于顯示“圖例”框陰影。您可以定義顏色,圖案(ChartBrush)大小和透明度。
Runtime:
[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
Bevels:斜面
屬性為內(nèi),外斜面顏色和大小。
Panel:面板
TeeChart Panel頁(yè)面允許用戶設(shè)置參數(shù),從而大大增強(qiáng)圖表的外觀。面板漸變效果最適合支持真彩色的顯示器,可以通過Panel界面訪問面板屬性和方法:
關(guān)鍵區(qū)域是:
Borders:邊框
用戶可以單獨(dú)定義邊框,也可以與“倒角”屬性一起定義邊框。混合斜角和邊框以及操縱寬度幾乎可以提供任何3D效果組合。例如斜角內(nèi)/斜角外/邊框?qū)挾?br /> 這些屬性將在“圖表”邊框的面板上生成各種3D效果。在設(shè)計(jì)時(shí)修改它們以查看它們?nèi)绾斡绊憟D表邊框斜面。
Background:背景
例如:面板顏色,面板顏色將使用所選顏色繪制整個(gè)圖表背景。如果選擇查看背景漸變或圖像,則會(huì)隱藏面板顏色。如果設(shè)置背面顏色,它將僅替換圖表框架中的面板顏色。
例如:BackImage用戶可以選擇任何位圖文件作為BackImage。使用Hatch Brush Editor(來(lái)自Pattern按鈕)有五種不同的Wrap模式可供BackImage選擇。
Runtime:
使用ChartBrush.LoadImage在運(yùn)行時(shí)將背景圖像添加到圖表。
[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")
Margins:邊距
邊距定義為圖表邊框與圖表框架之間的距離,并表示為圖表面板總體尺寸的百分比。在“圖表編輯器邊距”框中移動(dòng)旋轉(zhuǎn)框?qū)⒃谠O(shè)計(jì)時(shí)顯示更改每個(gè)邊距的效果。
運(yùn)行時(shí)屬性是:TChart1.Panel.MarginTop TChart1.Panel.MarginLeft TChart1.Panel.MarginRight TChart1.Panel.MarginBottom
可以使用HScrollbar來(lái)更改這些屬性:
[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
Gradient漸變
要定義漸變,必須選擇StartColor和EndColor(加上,可選擇MidColor)并啟用“Visible the Gradient:可見漸變”。Gradient將覆蓋整個(gè)Chart面板。漸變方向定義Start,Mid和EndColor之間的顏色變化方向。
Runtime:
[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
Shadow:陰影
定義“圖表”面板陰影的大小,顏色,圖案(ChartBrush)和透明度屬性。
Paging:分頁(yè)
TeeChart分頁(yè)允許將圖表劃分為每頁(yè)的設(shè)定點(diǎn)數(shù)和圖表。
Walls
圖表編輯器的“圖表”部分中的此頁(yè)面將屬性應(yīng)用于圖表墻。有4個(gè)墻:左,右,下和后,可以用2D或3D表示,可以通過TChart1.Walls屬性訪問Walls屬性。
Color:顏色
“顏色”按鈕轉(zhuǎn)到“顏色編輯器”,使用戶可以選擇所選墻的顏色。
Border:邊框
邊框按鈕轉(zhuǎn)到Walls類的ChartPen定義。
visible屬性啟用/禁用Border的顯示。對(duì)于BackWall,其中軸是可見的,墻邊框?qū)㈦[藏在這些軸后面,因此如果隱藏部分或全部軸,用戶將只看到啟用/禁用邊框的結(jié)果(例如,使軸頂部和右側(cè)不可見改變Wall Border顏色的結(jié)果,即TChart1.Walls.Back.Pen.Color = Color.Blue)。
有關(guān)Border Pen的其他特征,請(qǐng)參見ChartPen。用戶可以在設(shè)計(jì)時(shí)更改這些屬性。
Pattern
Pattern按鈕:Walls類的ChartBrush定義。這與許多其他TeeChart對(duì)象相同。
Gradient
漸變按鈕:“漸變編輯器”,您可以選擇所選墻的漸變。
3D
3D在TeeChart Pro中非常靈活,可以選擇將圖表顯示為:
- 2D平面圖,從正面??看
- 由矢量線表示的3D正交3D表示深度
- 使用3D畫布的3D原生Windows 3D,180度圖表旋轉(zhuǎn)
3 Dimensions
選擇此屬性(切換)將在設(shè)計(jì)時(shí)將圖表從3D更改為2D圖表,該設(shè)置將在運(yùn)行時(shí)生效。
3D%
控制3D效果的深度。更改此屬性的值將在設(shè)計(jì)時(shí)顯示更改3D百分比的效果。
這些屬性的應(yīng)用示例使用CheckBox和Horizo??ntal 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 TChart1.Aspect.Chart3DPercent = e.NewValue End Sub
選項(xiàng)在禁用時(shí)啟用Windows Native 3D模式,允許用戶旋轉(zhuǎn),提升和偏移圖表。“縮放”選項(xiàng)允許前移或移開整個(gè)圖表。數(shù)據(jù)系列圖表內(nèi)部的縮放在運(yùn)行時(shí)仍然可用。
Perspective屬性允許設(shè)置距離透視圖。Perpsective為用于演示目的的圖表提供了視覺增強(qiáng)功能。