【TeeChart .NET教程】(五)圖例設計
【下載TeeChart.Net最新版本】
(一)Legend control——圖例控制
圖例參數(shù)可通過TeeChart編輯器,圖表選項卡,圖例頁面:
?
圖例參數(shù)訪問。見傳說類的幫助以獲取更多信息
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——調整圖表大?。?/strong>
“Resize Chart(調整大小圖表)”屬性未啟用時,將在“圖表”框架區(qū)域內繪制圖例。雖然這對于某些Legend定位要求可能是令人滿意的,但是通過使用Legend Margin屬性可以更好地控制與Chart框架相關的Legend定位。
Margin:
更改Margin屬性值將移動Chart框架相對于Legend,反之亦然。因此,將Margin值設為負值會將圖表移動到圖例上(增加圖表矩形區(qū)域的大?。?。
Position Offset %——位置偏移%:
0%定義為觸摸右圖表畫布邊框的水平圖例和觸摸頂部圖標的垂直圖例。
Custom
此復選框將禁用“Resize Chart(調整大小圖表)”屬性,并使您能夠在“圖表畫布”的任何位置以圖像為單位定位圖例。
1.3 Symbols Tab
width
設置Width屬性以定義顏色矩形(符號)的寬度。
Width Units
使用WidthUnits屬性定義必須如何解釋寬度。
position
使用“位置”屬性設置顏色矩形的位置。
Continuous
使用連續(xù)屬性讓不同的圖例顏色矩形相互流動。設置為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
將圖例放置在圖表矩形區(qū)域內時,圖例在系列和軸之前繪制,并且將出現(xiàn)在任何交叉點的任何一個下方。