新手入門
加入官方社群740060302,歡迎相互交流
介紹
基本圖表可以使用TeeChart編輯器構(gòu)建和實現(xiàn),很少或根本不使用代碼。TeeChart編輯器是兩個編輯器合一,因為圖表可以被認(rèn)為是不同于它的數(shù)據(jù)系列內(nèi)容。用戶可以定義圖表外觀、標(biāo)題、圖例特征和3D方面,而不必包含數(shù)據(jù)系列。這使用戶可以在運行時自由地添加和刪除不同的數(shù)據(jù)系列類型,而不必重新定義整個圖表的外觀。
這些組件一起運行,圖表軸是圖表和系列之間的接口。系列具有數(shù)據(jù),其值將影響圖表軸的標(biāo)簽特征。在添加數(shù)據(jù)系列之前,可以為圖表定義軸外觀、顏色、網(wǎng)格頻率和標(biāo)簽字體。TeeChart將對大多數(shù)值進(jìn)行最佳估計,以最大限度地減少用戶預(yù)定義圖表和系列屬性的需要。
使用圖表編輯器添加多個系列類型:TeeChart的“不同于系列的圖表”設(shè)計范例允許用戶混合各種系列類型,而不限于選擇預(yù)定義的圖表格式。
TeeChart Pro .Net與ASP. NET完全兼容,能夠放置在一個ASP. NET WebForm,并在設(shè)計時以完全所見即所得的方式進(jìn)行編輯。您可以選擇在運行時從可用列表中輸出的圖像格式類型:JPEG, GIF, PNG, TIFF, BMP和EMF。有關(guān)更多信息,請參閱Internet應(yīng)用程序教程。
本教程中的步驟強(qiáng)調(diào)了從頭開始構(gòu)建圖表是簡單的,并將向您介紹TeeChart編輯器,使您能夠通過后面的教程修改和進(jìn)一步增強(qiáng)圖表的外觀和功能。
建立圖表
包括在WinForm上使用TeeChart
通過使用TeeChart的安裝程序,用戶將成功地將TeeChart圖標(biāo)添加到Visual Studio .Net 編程環(huán)境的工具箱中。
TeeChart圖標(biāo)是圓形(餅狀)圖表的表示形式。
選擇“工具欄”中的圖標(biāo),單擊并拖動到窗體上的圖表大小。您將看到TeeChart作為一個面板,具有一些基本的圖表功能,如軸和標(biāo)題。TeeChart當(dāng)然不僅僅是一個小組;右鍵單擊新的TeeChart,你會看到一個菜單顯示。選擇編輯…選項來訪問TeeChart編輯器。
有關(guān)TeeChart的其他調(diào)色板組件的介紹,請點擊本教程該篇文章的鏈接。
TeeChart編輯器
TeeChart編輯器可以訪問最常用的圖表屬性。
要添加新系列,請單擊添加…按鈕,并從“系列圖庫”中選擇“系列”類型。如果在現(xiàn)在選擇了一個Series類型之后,您希望稍后更改它,您可以通過返回到第一個Editor屏幕并選擇Change…按鈕。
TeeChart系列圖庫
該系列圖庫由八個標(biāo)簽頁組成:
- Standard——標(biāo)準(zhǔn)系列類型,那些可能被最頻繁調(diào)用的類型,如線條,條形,餅形等。
- Extended——擴(kuò)展系列類型,包括用于規(guī)劃或地圖應(yīng)用的更專業(yè)的系列類型,例如Arrow, Polar,組織結(jié)構(gòu)圖,Bezier等。
- Financial——金融系列包括用于金融應(yīng)用的更專業(yè)的金融系列類型。
- Other——如果你還沒有找到你想要的圖表類型,你可能會在這里找到它,例如Tag Cloud, Wind Rose, Calendar, 等。
- 3D——3D系列包括提供三維表示的系列類型,例如表面,瀑布,塔等。這些類型采用三個(X, Y, Z)而不是兩個(X, Y)變量。
- Stats——統(tǒng)計系列包括統(tǒng)計應(yīng)用程序的圖表系列類型,例如直方圖,誤差條,箱線圖等。
- Gauges——量規(guī)系列提供多種量規(guī),如數(shù)字,線性,圓形等。
- Maps——地圖系列包括世界、歐洲、北美、亞洲等不同地理分布圖。
選擇“系列”類型。對于這個練習(xí),我們將選擇Bar Series類型。圖庫將關(guān)閉,新系列將顯示在第一個圖表編輯器屏幕中。
填充新的數(shù)據(jù)系列
在“圖表編輯器”中選擇“系列”選項卡以顯示“系列”配置屬性。Series頁面上的第四個選項卡是數(shù)據(jù)源選項卡。
ADO. NET
如果您的數(shù)據(jù)源是ADO。那么你可以直接在圖表編輯器中映射你的數(shù)據(jù)。
在本例中,我們將把BarSeries連接到TeeChart。mdb Access數(shù)據(jù)庫。首先,從VS.NET工具箱的Data選項卡中,將一個OleDbDataAdapter拖到一個帶有。net對象的WinForm上。在數(shù)據(jù)適配器配置向?qū)蠁螕簟跋乱徊健保缓笤谙乱豁搯螕簟靶陆ㄟB接…”按鈕?,F(xiàn)在點擊新窗口的“Provider”選項卡,選擇“Microsoft Jet OLE DB Provider”,如下圖所示:
(*請注意——不同框架之間向?qū)С绦虻耐庥^略有不同)
現(xiàn)在點擊同一窗口的“Connection”選項卡,選擇TeeChart。TeeChart for .Net根目錄下的Sample Data文件夾中的mdb文件:
單擊“Test Connection”按鈕測試連接,然后單擊同一窗口的“OK”按鈕?,F(xiàn)在單擊Data Adapter Configuration Wizard窗口的“Next”按鈕,在出現(xiàn)的窗口中選擇“Use SQL Statements”,然后再次單擊“Next”按鈕?,F(xiàn)在單擊“Query Builder”按鈕并添加“Employee”表。關(guān)閉“Add Table”窗口,然后選擇“*(All Columns)”復(fù)選框:
現(xiàn)在確定這個窗口,點擊“下一步”,然后點擊“Finish。現(xiàn)在打開TeeChart編輯器,添加BarSeries并導(dǎo)航到Series選項卡的DataSource選項卡。從組合框中選擇“Database”,oleDbDataAdapter1 [System.Data.OleDb. OleDbDataAdapter]從數(shù)據(jù)集組合框。設(shè)置標(biāo)簽為“LASTNAME”,Y為“SALARY”,如下圖所示:
現(xiàn)在單擊Apply按鈕并運行表單;現(xiàn)在,您應(yīng)該擁有如下內(nèi)容:
有關(guān)更多信息,請參閱ADO. NET Database Access.
編碼數(shù)據(jù)輸入
對于程序化的數(shù)據(jù)輸入,你需要編寫一些代碼。本節(jié)將向您展示使用編碼輸入構(gòu)建圖表所需的步驟。
您之前使用圖表編輯器添加的系列在設(shè)計時顯示隨機(jī)數(shù)據(jù)。但是,在運行時,除非您手動填充,否則該系列將為空。從工具箱中選擇一個按鈕并將其放置在窗體上。在Visual Studio . net中,雙擊Button以訪問代碼編輯器(方法在不同的編程環(huán)境中可能有所不同)。
在代碼編輯器中輸入這些行的內(nèi)容:
[C#.Net] private void button1_Click(object sender, System.EventArgs e) { bar1.Add(3,"Pears",Color.Red); bar1.Add(4,"Apples",Color.Blue); bar1.Add(2,"Oranges",Color.Green); } [VB.Net] Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Bar1.Add(3, "Pears", Color.Red) Bar1.Add(4, "Apples", Color.Blue) Bar1.Add(2, "Oranges", Color.Green) End Sub
運行項目并按下按鈕。三個新的Bar將出現(xiàn)在圖表上
圖表中的第一個柱狀序列稱為Bar1,第二個柱狀序列稱為Bar2,依此類推。因此,在圖表中有多個系列時,您可以使用這些名稱來修改相關(guān)系列。
系列的添加方法有25個重載,其中第7個接受3個變量,值,文本和顏色。因此,添加方法假定Label軸(在本例中為x軸)上的值間距相等。如果你的數(shù)據(jù)包含兩個變量,你可以使用另一個Add方法的重載。將另一個Button添加到項目中,并將此代碼放入其中。運行項目并使用以下代碼添加點:
[C#.Net] private void button2_Click(object sender, System.EventArgs e) { Random rnd = new Random(); if(bar1.Count > 0) { //Increment X Axis value and add a new random point bar1.Add((bar1.XValues.Last + rnd.Next(10)), ((bar1.YValues.Last/(bar1.YValues.Last - 1)) + rnd.Next(10)),"Lemons",Color.Yellow); } else { //Add a new random point bar1.Add(1,rnd.Next(10),"Lemons",Color.Yellow); } } [VB.Net] Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim rnd As Random If (Bar1.Count > 0) Then 'Increment X Axis value and add a new random point Bar1.Add((Bar1.XValues.Last + rnd.Next(10)), ((Bar1.YValues.Last / (Bar1.YValues.Last - 1)) + rnd.Next(10)), "Lemons", Color.Yellow) Else 'Add a new random point Bar1.Add(1, rnd.Next(10), "Lemons", Color.Yellow) End If End Sub
選擇系列類型以滿足您的需求
最后一個代碼示例生成了新的X和Y值。點之間的X軸距離不是恒定的,在某些情況下會導(dǎo)致bar重疊,這對于某些應(yīng)用來說是可取的,但并非所有應(yīng)用都是如此。使用圖表編輯器更改系列類型(在設(shè)計時進(jìn)入圖表編輯器并使用第一頁上的Change按鈕,然后將代碼中對Bar1的所有引用更改為Line1)為LineSeries顯示了用2個變量圖形化表示數(shù)據(jù)的另一種方法。
如果數(shù)據(jù)包含2個以上變量,則有適合顯示數(shù)據(jù)的其他系列類型。查看圖表庫,選擇您認(rèn)為最適合您的系列類型,然后在TeeChart教程中閱讀相關(guān)信息。