【TeeChart .NET教程】(十八):TeeChart工具集合(中)——系列工具
【下載TeeChart.Net最新版本】
(一)介紹
本教程重點介紹TeeChart for.NetTools,這是一個易于實現(xiàn)的代碼單元,用戶可以使用這些代碼為TeeCharts添加額外的功能,有十種新工具可供部署:
(二)系列工具
2.1 光標工具
光標工具將光標添加到圖表中,該圖表可以與單個系列或整個圖表相關(guān)聯(lián)。游標可以是水平的,垂直的或兩者(十字準線)。
設(shè)計時:
添加后,光標工具可能與圖表系列相關(guān)聯(lián),也可能不與圖表系列相關(guān)聯(lián),并且可以在樣式中配置為水平,垂直或兩者。如果光標工具與一個系列相關(guān)聯(lián),則可以在移動光標時將其設(shè)置為捕捉到Y(jié)Values系列。跟隨鼠標使光標工具隨鼠標移動,而筆(筆編輯器)允許您配置光標工具的樣式,顏色,寬度,結(jié)束,透明度和可見性。
運行時:
在運行時添加光標工具如下例所示:
[C#]
Points pointSeries1 = new Points(tChart1.Chart); CursorTool cursorTool1 = new CursorTool(tChart1.Chart); pointSeries1.FillSampleValues(20); cursorTool1.Active = true; cursorTool1.FollowMouse = true; cursorTool1.Series = pointSeries1; cursorTool1.Style = CursorToolStyles.Both;
[VB.Net]
Dim PointSeries1 As New Steema.TeeChart.Styles.Points(TChart1.Chart) Dim CursorTool1 As New Steema.TeeChart.Tools.CursorTool(TChart1.Chart) PointSeries1.FillSampleValues(20) CursorTool1.Active = True CursorTool1.FollowMouse = True CursorTool1.Series = PointSeries1 CursorTool1.Style = Steema.TeeChart.Tools.CursorToolStyles.Both
2.2 拖動標記工具
拖動標記工具允許鼠標拖動所選系列的標記。
設(shè)計時:
拖動標記工具可以設(shè)置為特定系列,也可以與所有圖表系列保持關(guān)聯(lián),重置位置將所有移動的標記返回到其原始默認位置。
運行時:
在運行時添加拖動標記工具如下例所示:
[C#]
Bar bar1 = new Bar(tChart1.Chart); DragMarks dragMarks1 = new DragMarks(tChart1.Chart); bar1.FillSampleValues(20); dragMarks1.Active = true; dragMarks1.Series = bar1;
[VB.Net]
Dim Bar1 As New Steema.TeeChart.Styles.Bar(TChart1.Chart) Dim DragMarks1 As New Steema.TeeChart.DragMarks(TChart1.Chart) Bar1.FillSampleValues(20) DragMarks1.Active = True DragMarks1.Series = Bar1
2.3 拖動工具
拖動工具允許鼠標拖動所選系列的標記。
設(shè)計時:
拖動工具可以設(shè)置為特定系列,也可以與所有圖表系列保持關(guān)聯(lián),樣式使拖動點工具能夠拖動X方向,Y方向或兩個方向的點,鼠標按鈕選擇活動鼠標按鈕,而光標選擇拖動系列點時顯示的光標樣式。
運行時:
在運行時添加拖動工具如下例所示:
[C#]
Bar bar1 = new Bar(tChart1.Chart); DragPoint dragPoint1 = new DragPoint(tChart1.Chart); bar1.FillSampleValues(10); dragPoint1.Active = true; dragPoint1.Series = bar1; dragPoint1.Style = DragPointStyles.Y;
[VB.Net]
Dim Bar1 As New Steema.TeeChart.Styles.Bar(TChart1.Chart) Dim DragPoint1 As New Steema.TeeChart.DragPoint(TChart1.Chart) Bar1.FillSampleValues(10) DragPoint1.Active = True DragPoint1.Series = Bar1 DragPoint1.Style = Steema.TeeChart.DragPointStyles.Y
2.4 繪制線工具
繪制線工具可以使用鼠標在圖表上繪制,選擇,拖動和刪除完全可自定義的線。
設(shè)計時:
繪制線工具可以設(shè)置為特定系列,也可以通過Series ComboBox與任何圖表系列保持關(guān)聯(lián),Button ComboBox將繪制線工具設(shè)置為特定的鼠標按鈕,筆(筆編輯器)允許您配置繪制線的樣式,顏色,寬度,結(jié)束,透明度和可見性,而啟用繪圖和啟用選擇分別啟用/禁用繪圖和選擇線。
運行時:
在運行時添加繪制工具如下例所示:
[C#]
Bar bar1 = new Bar(tChart1.Chart); DrawLine drawLine1 = new DrawLine(tChart1.Chart); bar1.FillSampleValues(20); drawLine1.Series = bar1; drawLine1.Button = MouseButtons.Left; drawLine1.EnableDraw = true; drawLine1.EnableSelect = true; drawLine1.Pen.Color = Color.AliceBlue;
[VB.Net]
Dim Bar1 As New Steema.TeeChart.Styles.Bar(TChart1.Chart) Dim DrawLine1 As New Steema.TeeChart.DrawLine(TChart1.Chart) Bar1.FillSampleValues(20) DrawLine1.Series = Bar1 DrawLine1.Button = MouseButtons.Left DrawLine1.EnableDraw = True DrawLine1.EnableSelect = True DrawLine1.Pen.Color = Color.AliceBlue
2.5 甘特圖拖動工具
甘特圖拖動工具可以拖動和/或調(diào)整甘特圖系列的尺寸。
設(shè)計時:
甘特拖曳工具必須與特定的甘特系列相關(guān)聯(lián)。“Resize Pixel Tolerance調(diào)整像素容差”指定拖動的精確度,“Allow Drag允許拖動”啟用拖動,而“Cursor光標”指定拖動時顯示的光標。允許調(diào)整大小使Gantt Bar調(diào)整大小,而Cursor指定調(diào)整大小時顯示的光標。
運行時:
在運行時添加甘特圖拖動工具如下例所示:
[C#]
GanttSeries ganttSeries1 = new GanttSeries(tChart1.Chart); GanttTool ganttTool1 = new GanttTool(tChart1.Chart); ganttSeries1.FillSampleValues(10); ganttTool1.AllowResize = false; ganttTool1.AllowDrag = true; ganttTool1.MinPixels = 3; ganttTool1.Series = ganttSeries1; ganttTool1.Active = true; tChart1.Legend.Visible = false;
[VB.Net]
Dim GanttSeries1 As New Steema.TeeChart.GanttSeries(TChart1.Chart) Dim GanttTool1 As New Steema.TeeChart.GanttTool(TChart1.Chart) GanttSeries1.FillSampleValues(10) GanttTool1.AllowResize = False GanttTool1.AllowDrag = True GanttTool1.MinPixels = 3 GanttTool1.Series = GanttSeries1 GanttTool1.Active = True TChart1.Legend.Visible = False
2.6 圖像工具
圖像工具在指定的圖表系列后面繪制圖片(位圖,jpeg,gif,png,pcx)。
設(shè)計時:
圖像工具可以與特定系列相關(guān)聯(lián),也可以保留默認情況下與任何圖表系列無關(guān),使用Image one可以瀏覽或清除所有格式的圖像。
運行時:
在運行時添加圖像工具如下例所示:
[C#]
Bar bar1 = new Bar(tChart1.Chart); ChartImage chartImage1 = new ChartImage(tChart1.Chart); string imagePath = @"C:.bmp"; Bitmap myBitMap = new Bitmap(imagePath); bar1.FillSampleValues(20); chartImage1.Active = true; chartImage1.Image = myBitMap;
[VB.Net]
Dim Bar1 As New Steema.TeeChart.Styles.Bar(TChart1.Chart) Dim ChartImage1 As New Steema.TeeChart.ChartImage(TChart1.Chart) Dim ImagePath As String = "C:.bmp" Dim MyBitMap As New Bitmap(ImagePath) Bar1.FillSampleValues(20) ChartImage1.Active = True ChartImage1.Image = MyBitMap
2.7 標記提示工具
標記提示工具用于在鼠標懸停(或單擊)系列點時顯示默認提示窗口。
設(shè)計時:
標記提示工具可以與特定系列相關(guān)聯(lián),也可以保留默認情況下與任何圖表系列無關(guān),樣式定義要在“Mark Tips標記提示”中顯示的系列數(shù)據(jù)的類型,而“Mouse Action鼠標操作”設(shè)置鼠標單擊或移動時是否顯示“Mark Tips標記提示”,延遲定義標記提示出現(xiàn)之前的時間間隔(以毫秒為單位)。
運行時:
在運行時添加標記提示工具如下例所示:
[C#]
PointSeries pointSeries1 = new PointSeries(tChart1.Chart); MarksTip marksTip1 = new MarksTip(tChart1.Chart); tab pointSeries1.FillSampleValues(20); marksTip1.Active = true; marksTip1.MouseDelay = 500; marksTip1.MouseAction = MarksTipMouseAction.Move; marksTip1.Style = MarksStyles.XY;
[VB.Net]
Dim PointSeries1 As New Steema.TeeChart.PointSeries(TChart1.Chart) Dim MarksTip1 As New Steema.TeeChart.MarksTip(TChart1.Chart) PointSeries1.FillSampleValues(20) MarksTip1.Active = True MarksTip1.MouseDelay = 500 MarksTip1.MouseAction = Steema.TeeChart.MarksTipMouseAction.Move MarksTip1.Style = Steema.TeeChart.MarksStyles.XY
2.8 最近點工具
最近點工具將標記移動到最靠近光標的點,該工具可以與系列關(guān)聯(lián)或全局應用于圖表。
設(shè)計時:
最近點工具需要與特定的圖表系列相關(guān)聯(lián),它的外觀可以使用Fill(Hatch Brush Editor)配置來定義最近點工具的主體,它的顏色,透明度,可見性,填充樣式,填充漸變或填充圖像和邊框(Pen Editor)來定義樣式最近點工具邊框筆的顏色,寬度,結(jié)束,透明度和可見性,“Draw Line繪制線”啟用/禁用光標位置和“Nearest Point Tool最近點工具”形狀之間連接線的繪制,“Size大小”定義此形狀的大小,而“Style樣式”定義使用的形狀類型。
運行時:
在運行時添加最近點工具如下例所示:
[C#]
Line line1 = new Line(tChart1.Chart); NearestPoint nearestPoint1 = new NearestPoint(tChart1.Chart); line1.FillSampleValues(20); nearestPoint1.Series = line1; nearestPoint1.Pen.Color = Color.Blue; nearestPoint1.Size = 25; nearestPoint1.Style = NearestPointStyles.Diamond;
[VB.Net]
Dim Line1 As New Steema.TeeChart.Styles.Line(TChart1.Chart) Dim NearestPoint1 As New Steema.TeeChart.NearestPoint(TChart1.Chart) Line1.FillSampleValues(20) NearestPoint1.Series = Line1 NearestPoint1.Pen.Color = Color.Blue NearestPoint1.Size = 25 NearestPoint1.Style = Steema.TeeChart.NearestPointStyles.Diamond
2.9 Pie Slices工具
Pie SlicesTool通過在其周圍繪制邊框或通過將其從Pie系列的其余部分展開來突出顯示鼠標下的餅圖切片。
設(shè)計時:
Pie Piees Tool必須與特定的Pie系列相關(guān)聯(lián),樣式指定餅圖切片是否由其周圍的邊框突出顯示(可以通過邊框按鈕(筆編輯器)進行編輯),或者將其從餅圖系列的其余部分展開。
運行時:
在運行時添加Pie Slices工具如下例所示:
[C#]
PieSeries pieSeries1 = new PieSeries(tChart1.Chart); PieTool pieTool1 = new PieTool(tChart1.Chart); pieSeries1.FillSampleValues(10); pieTool1.Series = pieSeries1; pieTool1.Style = PieToolStyle.Explode;
[VB.Net]
Dim PieSeries1 As New Steema.TeeChart.PieSeries(TChart1.Chart) Dim PieTool1 As New Steema.TeeChart.PieTool(TChart1.Chart) PieSeries1.FillSampleValues(10) PieTool1.Series = PieSeries1 PieTool1.Style = Steema.TeeChart.PieToolStyle.Explode
2.10 系列動畫工具
系列動畫工具執(zhí)行系列點的增長動畫。
設(shè)計時:
系列動畫工具必須與一系列相關(guān)聯(lián)才能運行,動畫的速度由步驟軌跡欄和繪制每個屬性控制,而動畫的起點由系列最小值或起始值文本框定義。
運行時:
在運行時添加系列動畫工具如下例所示:
[C#]
private SeriesAnimation tool; private void InitializeChart() Bar bar = new Bar(tChart1.Chart); tool = new SeriesAnimation(tChart1.Chart); tool.Series = bar; bar.FillSampleValues(); private void button1_Click(object sender, EventArgs e) tool.Execute();
[VB.Net]
Dim tool As SeriesAnimation Public Sub InitializeChart() Dim bar As Bar = New Bar(TChart1.Chart) tool = New SeriesAnimation(TChart1.Chart) tool.Series = bar bar.FillSampleValues() End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click tool.Execute() End Sub
2.11 附加的圖例工具
附加的圖例工具在圖表內(nèi)的任何位置顯示自定義圖例。
設(shè)計時:
附加圖例工具必須與一系列相關(guān)聯(lián)才能顯示,“Edit Legend編輯圖例”對話框允許完全配置圖例。
運行時:
在運行時添加附加圖例工具如下例所示:
[C#]
Bar bar = new Bar(tChart1.Chart); ExtraLegend tool = new ExtraLegend(tChart1.Chart); tool.Series = bar; bar.FillSampleValues();
[VB.Net]
Dim bar As Bar = New Bar(TChart1.Chart) Dim tool As ExtraLegend = New ExtraLegend(TChart1.Chart) tool.Series = bar bar.FillSampleValues()
2.12 曲面最近工具
曲面最近工具顯示當用戶將鼠標移動到曲面系列上時選擇曲面單元格的可視指示。
設(shè)計時:
使用Series組合框選擇要與工具關(guān)聯(lián)的曲面系列,可以使用相關(guān)的顏色編輯器編輯單元格,行和列顏色特征。
運行時:
在運行時添加附加曲面最近工具如下例所示:
[C#]
Surface surface = new Surface(tChart1.Chart); SurfaceNearestTool tool = new SurfaceNearestTool(tChart1.Chart); tool.Series = surface; surface.FillSampleValues();
[VB.Net]
Dim surface As Surface = New Surface(TChart1.Chart) Dim tool As SurfaceNearestTool = New SurfaceNearestTool(TChart1.Chart) tool.Series = surface surface.FillSampleValues()
2.13 斐波納契工具
斐波那契工具根據(jù)指定的趨勢線顯示斐波納契弧或扇。
設(shè)計時:
使用Series組合框選擇要與工具關(guān)聯(lián)的系列,F(xiàn)ibonacci的繪圖特性及其算法變量都可以在上面的編輯器中完全配
運行時:
在運行時添加附加斐波納契工具如下例所示:
[C#]
Candle candle = new Candle(tChart1.Chart); FibonacciTool tool = new FibonacciTool(tChart1.Chart); candle.FillSampleValues(); tool.Series = candle; tool.StartX = candle.DateValues[0]; tool.StartY = candle.CloseValues[0]; tool.EndX = candle.DateValues[10]; tool.EndY = candle.CloseValues[10];
[VB.Net]
Dim candle As Candle = New Candle(tChart1.Chart) Dim tool As FibonacciTool = New FibonacciTool(tChart1.Chart) candle.FillSampleValues tool.Series = candle tool.StartX = candle.DateValues(0) tool.StartY = candle.CloseValues(0) tool.EndX = candle.DateValues(10) tool.EndY = candle.CloseValues(10)
2.14 系列區(qū)域工具
系列區(qū)域工具繪制系列曲線下的區(qū)域。
設(shè)計時:
使用Series組合框選擇要與工具關(guān)聯(lián)的系列,Origin指定區(qū)域的yvalue(水平)基值,而Bounds指定xvalue(垂直)起點和終點限制。使用格式選項卡定義區(qū)域筆和畫筆特征。
運行時:
在運行時添加附加系列區(qū)域工具如下例所示:
[C#]
Line line = new Line(tChart1.Chart); SeriesRegionTool tool = new SeriesRegionTool(tChart1.Chart); line.FillSampleValues(); tool.Series = line;
[VB.Net]
Dim line As Line = New Line(TChart1.Chart) Dim tool As SeriesRegionTool = New SeriesRegionTool(TChart1.Chart) tool.Series = line line.FillSampleValues()
2.15 圖例調(diào)色板工具
圖例調(diào)色板工具顯示使用3D系列調(diào)色板顏色制作的圖例。
設(shè)計時:
使用Series組合框選擇要與工具關(guān)聯(lián)的3D系列,該工具的所有元素都是完全可配置的。
運行時:
在運行時添加附加圖例調(diào)色板工具如下例所示:
[C#]
Surface surface = new Surface(tChart1.Chart); LegendPalette tool = new LegendPalette(tChart1.Chart); surface.FillSampleValues(); tool.Series = surface;
[VB.Net]
Dim surface As Surface = New Surface(TChart1.Chart) Dim tool As LegendPalette = New LegendPalette(TChart1.Chart) surface.FillSampleValues() tool.Series = surface
2.16 系列統(tǒng)計工具
系列統(tǒng)計工具計算給定系列的許多標準統(tǒng)計度量。
設(shè)計時:
使用Series組合框選擇要與工具關(guān)聯(lián)的系列。
運行時:
在運行時添加系列統(tǒng)計工具如下例所示:
[C#]
SeriesStats tool = new SeriesStats(tChart1.Chart); Line line = new Line(tChart1.Chart); line.FillSampleValues(); tool.Series = line; Annotation at = new Annotation(tChart1.Chart); at.Shape.Transparency = 10; at.Left = 80; at.Top = 50; at.Text = tool.Statistics;
[VB.Net]
Dim line As Line = New Line(TChart1.Chart) Dim tool As SeriesStats = New SeriesStats(TChart1.Chart) line.FillSampleValues() tool.Series = line Dim at As Annotation = New Annotation(TChart1.Chart) at.Shape.Transparency = 10 at.Left = 80 at.Top = 50 at.Text = tool.Statistics
2.17 剪輯系列工具
剪輯系列工具限制系列關(guān)聯(lián)軸邊界外的系列繪制。
設(shè)計時:
使用Series組合框選擇要與工具關(guān)聯(lián)的系列。
運行時:
在運行時添加剪輯系列工具如下例所示:
[C#]
Axis vert = new Axis(false, false, tChart1.Chart); Axis horiz = new Axis(true, false, tChart1.Chart); tChart1.Axes.Custom.Add(vert); tChart1.Axes.Custom.Add(horiz); Line line = new Line(tChart1.Chart); line.FillSampleValues(); horiz.StartPosition = 20; horiz.EndPosition = 80; vert.StartPosition = 20; vert.EndPosition = 80; line.CustomHorizAxis = horiz; line.CustomVertAxis = vert; ClipSeries tool = new ClipSeries(tChart1.Chart); tool.Series = line; tChart1.Panel.MarginBottom = 10; tChart1.Panel.MarginLeft = 10;
[VB.Net]
Dim vert As Axis = New Axis(False, False, TChart1.Chart) Dim horiz As Axis = New Axis(True, False, TChart1.Chart) TChart1.Axes.Custom.Add(vert) TChart1.Axes.Custom.Add(horiz) Dim line As Line = New Line(TChart1.Chart) line.FillSampleValues() horiz.StartPosition = 20 horiz.EndPosition = 80 vert.StartPosition = 20 vert.EndPosition = 80 line.CustomHorizAxis = horiz line.CustomVertAxis = vert Dim tool As ClipSeries = New ClipSeries(TChart1.Chart) tool.Series = line TChart1.Panel.MarginBottom = 10 TChart1.Panel.MarginLeft = 10