![ZedGraph的控件使用_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/6/171ed3d3-089c-4ecf-83cb-c96dc68c7ac6/171ed3d3-089c-4ecf-83cb-c96dc68c7ac61.gif)
![ZedGraph的控件使用_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/6/171ed3d3-089c-4ecf-83cb-c96dc68c7ac6/171ed3d3-089c-4ecf-83cb-c96dc68c7ac62.gif)
![ZedGraph的控件使用_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/6/171ed3d3-089c-4ecf-83cb-c96dc68c7ac6/171ed3d3-089c-4ecf-83cb-c96dc68c7ac63.gif)
![ZedGraph的控件使用_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/6/171ed3d3-089c-4ecf-83cb-c96dc68c7ac6/171ed3d3-089c-4ecf-83cb-c96dc68c7ac64.gif)
![ZedGraph的控件使用_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/6/171ed3d3-089c-4ecf-83cb-c96dc68c7ac6/171ed3d3-089c-4ecf-83cb-c96dc68c7ac65.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、該控件來自于CodeProject我大多的.NET程序的繪圖程序都用的是這個控件。下面是這個控件的文檔翻譯及其基本使用方法。A flexible charting library for .NET By JChampion· Download source files (.NET 1.1 and .NET 2.0)· Download dll only (.NET 1.1 and .NET 2.0)· Download C# Sample Project· Download VB Sample Project&
2、#183; Download the latest versions from SourceForge一個靈活的.NET繪圖庫Looking for a way to draw 2D line graphs with C#? Here's yet another charting class library with a high degree of configurability, that is also easy to use.正在尋找利用C#畫二維線型圖像的方法嗎?這個就是高度可配置的繪圖類庫,當(dāng)然,他也是非常容易用的。 Introduc
3、tionZedGraph是一個類庫,為Windows Forms 設(shè)計的用戶控件,該控件可以通過專業(yè)的數(shù)據(jù)資料創(chuàng)建2D線、Bar和Pie圖像。該類庫提供高度的靈活性幾乎每一個圖像的部分都能由用戶修改。于此同時,通過為所有圖像的屬性提供缺省值使類庫的用法保持簡單。類庫中包括選擇合適的刻度因數(shù)范圍和基于被顯示值的的數(shù)據(jù)范圍的步長值的代碼。此外,ZedGraph 兼容于.NET 2.0和VS.NET 2005.ZeGraph 是作為開源開發(fā)工程在SourceForge被維護的。該網(wǎng)站包括該項目的wiki、文檔、更新歷史和所有的發(fā)行版本。Wiki上含有一套簡單的圖像實例由公開的代碼完成(許多的例子包括
4、C#和VB代碼)。Background 我們可以尋找到很多的繪圖類庫,但是似乎沒有一個能夠滿足我的需要。我發(fā)現(xiàn)MSCHART太詭異了,許多其他的選項都不具有可配置性但我需要達(dá)到一種精致的外觀。當(dāng)然,許多商業(yè)開發(fā)包能夠做這種花招,但是我需要某種免費的東東。由此,ZedGraph產(chǎn)生了! 這個類庫將可以產(chǎn)生各種線型、條形、圖形分割統(tǒng)計圖表在Form上,考慮到位置矩形和一些數(shù)據(jù)點(翻譯的有點詭異,沒太看明白)。ZedGraph處理二維線形或散點圖形,所彩的百分?jǐn)?shù)條形圖形,誤差條形圖像,日本燭臺圖形和圖形分割統(tǒng)
5、計圖表他現(xiàn)在還不能處理2.5D或3D表面圖形。可以通過坐標(biāo)軸標(biāo)簽、標(biāo)題、圖例標(biāo)簽、文字標(biāo)簽、箭頭、鏡像等對象修飾圖像。ZedGraphWiki 和online class documentation 提供了大量的有用的信息,針對其提供更多的信息,ZedGraph 有大量的選項沒有在這個入門文檔中提供。Using ZedGraph as a UserControl 將ZedGraph作為一個控件可由Visual Studio.NET的控件工具箱中獲取。 要創(chuàng)建ZedGraph,首先要打開Visual Studio.NET,創(chuàng)建一個新的Forms項目。打開f
6、orm設(shè)計器使其出現(xiàn)在當(dāng)前窗口,如下圖右擊工具箱->選擇項點擊瀏覽定位到 zedgraph.dll文件,并添加。一旦添加了此文件,你會看到ZedGraphControl選項在工具箱中。如下圖1. 在項目主菜單->選擇添加引用->添加ZedGraph.dll,然后點擊OK,重復(fù)這個過程添ZedGraph.Web.dll,這將包括所有的ZedGraph功能在你的工程中。2. 添加using ZedGraph;語句到你的主Form代碼中3. 在Form設(shè)計器中,從工具箱中拖拽ZedGraphControl到From上,按照你的意愿修改其大小和位置。你現(xiàn)在在你的Form中就有了一個Z
7、edGraph控件。如下圖4. 所有的ZedGraph功能都可以通過ZedGraphControl.MasterPane屬性來訪問,提供ZedGraphControl.GraphPane來引用第一個GraphPane在主MasterPane列表中。(下面會解釋這句話的意思)。5. 在Form設(shè)計器中雙擊Form(不是ZedGraphControl)。這將會放置一個Form1_Load()模板在你的代碼文件中。6. 在Form設(shè)計器中,激活Form后定位到屬性中的事件如圖,雙擊Resizes事件,這時Form1_Resize相應(yīng)的函數(shù)模板將出現(xiàn)在在代碼文件中。7. 修改Form1_Load()和
8、Form1_Resize()方法,按照下面的代碼添加CreateGraph() and SetSize() 方法。(這里假定你的控件名稱為zedGraphControl1)8. / form 'Resize' 的事件相應(yīng)方法private void Form1_Resize( object sender, EventArgs e ) SetSize(); /SetSize() 是獨立于Resize()的,所以我們能夠獨立的調(diào)用他通過Fo
9、rm1_Load() 方法。/這將保留10像素環(huán)繞控件的外部邊緣,定制這些使之適合你的需要。private void SetSize() zedGraphControl1.Location = new Point( 10, 10 ); /保留一個小的頁面空白在控件的周圍 zedGraphControl1.Size = new Size( ClientRectangle.Width - 20,
10、0;
11、0; ClientRectangle.Height - 20 ); / Load事件的相應(yīng)函數(shù)private void Form1_Load( object sender, EventArgs e ) / 裝載圖像 CreateGraph( zedGraphControl1 ); /設(shè)定控件的大小填充form &
12、#160; SetSize(); / 創(chuàng)建圖像private void CreateGraph( ZedGraphControl zgc ) /得到GraphPane的引用 GraphPane myPane = zgc.GraphPane; / 設(shè)置標(biāo)題 myPan
13、e.Title.Text = "My Test Graphn(For CodeProject Sample)" myPane.XAxis.Title.Text = "My X Axis" myPane.YAxis.Title.Text = "My Y Axis" /生成正弦函數(shù)的數(shù)據(jù)集合
14、60; double x, y1, y2; PointPairList list1 = new PointPairList(); PointPairList list2 = new PointPairList(); for ( int i = 0; i < 36; i+ )
15、160; x = (double)i + 5; y1 = 1.5 + Math.Sin( (double)i * 0.2 ); y2 = 3.0 * ( 1.5
16、+ Math.Sin( (double)i * 0.2 ) ); list1.Add( x, y1 ); list2.Add( x, y2 ); /用
17、鉆石符合形狀生成紅色的曲線和圖例 LineItem myCurve = myPane.AddCurve( "Porsche", list1, Color.Red, SymbolType.Diamond ); /利用圓型的符號生成藍(lán)色的曲線
18、和圖例 LineItem myCurve2 = myPane.AddCurve( "Piper", list2, Color.Blue, SymbolType.Circle ); /告訴ZedGraph 去重新描繪坐標(biāo)軸當(dāng)數(shù)據(jù)變化時
19、60; zgc.AxisChange();9. 每次添加或改變數(shù)據(jù)的時候調(diào)用AxisChange()方法。這將告訴ZedGraph去重新計算坐標(biāo)軸的范圍,(注意:這是AxisChange()的功能你可以在任何你喜歡的時候調(diào)用這個方法,他會基于當(dāng)前坐標(biāo)點數(shù)據(jù)集合來更新坐標(biāo)范圍,如果你不希望坐標(biāo)軸被重新調(diào)節(jié),你也可以避免調(diào)用AxisChange())8. 執(zhí)行效果 Enhancing the graph ZedGraph 允許你通過多種途徑更改圖形的屬性,圖像的每個部分都被打包成一個類結(jié)構(gòu)體,這個結(jié)構(gòu)體有可更改的屬性去控制圖形的輸出
20、。下面就是一些在ZedGraph中提供的類(注意這些類是XML文檔,詳細(xì)的細(xì)節(jié)中每個類請看ZedGraph documentation ) Class Description MasterPane這是一個管理多個GraphPane對象的類,繼承于PaneBase。MasterPane類的應(yīng)用是可選的,因為GraphPane類能夠直接用于單個面板。提供布局、排列和單個GraphPane對象的管理的方法 GraphPane圖像的主要類,繼承自PaneBase。包含所有其他的類作為屬性。多用于控制圖像面板的標(biāo)題、窗框架和坐標(biāo)軸框架、背景等
21、屬性。 XAxis,YAxis, Y2AxisAxis類的子類。這些類包括了很多坐標(biāo)軸顯示的形式,包括:刻度、網(wǎng)格、顏色、畫筆、字體、標(biāo)簽和類型。 Scale通過Axis類聲明的一個類實例。包括刻度范圍、步長、格式和刻度的顯示選項。由Linear,Log, Text, Date, Ordinal, Exponent,LinearAsOrdinal, and DateAsOrdinal scales的不同而不同。 Legend此類為描述位置、字體、顏色等性質(zhì)的類,用于繪制圖例 Curve
22、Item一個對應(yīng)單條曲線并包含數(shù)據(jù)的抽象基類。LineItem, BarItem, HiLowBarItem,ErrorBarItem, PieItem, StickItem,OHLCBarItem, and JapaneseCandleStickItem都繼承于此類。 CurveList一個集合類維護了一個CurveItem的對象鏈表。在鏈表中的曲線的順序控制著 Z-順序為了繪圖。在鏈表中最后的曲線將會出現(xiàn)在其她的曲線之后。 GraphObj這是一個抽象的基類,他包含了多種的追加圖像對象在一個分塊中的位置信息。TextOb
23、j,ImageObj, LineObj, ArrowObj, EllipseObj,BoxObj, and PolyObj 都繼承自GraphObj. GraphObjList一個維護GraphObj鏈表的集合類。 FontSpec包括字體信息的功能類,主要是關(guān)于圖像上字體的顏色、角度、大小、樣式、框架和字體的背景填充。每一個包含字體信息的類將會包含一個或幾個FontSpec的對象去相應(yīng)的描述相關(guān)聯(lián)的字體。 Fill包括背景顏色特性的功能類。每一個含有色彩填充能力的對象都包含一個或多個Fill對象去相應(yīng)的描述相關(guān)聯(lián)
24、的顏色填充。 Border包括邊框特性的功能類。每一個含有邊框描述能力的對象都包含一個或多個Border對象去相應(yīng)的描述相關(guān)聯(lián)的邊框線形和顏色。 Location 一個通用的類,此類處理圖像對象在圖形中的位置。 PointPair 一個封裝了一對double型數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu),其表征了一個(x,y)的數(shù)據(jù)點,這是在每個CurveItem中值數(shù)組的內(nèi)部的存儲格式。 PointPairList 一個集合類維護了一個PointPair對象的數(shù)據(jù)鏈表。 XDate 此類封裝了單獨的數(shù)據(jù)時間值
25、(Double)通過訪問上面的每一個類的屬性來修改圖像。例如,如果你包括下面的代碼在你的CreateGraph()方法中, 放在前述的代碼示例之后,輸出圖像將會相應(yīng)的改變。 / 改變標(biāo)題的顏色 myPane.Title.FontSpec.FontColor = Color.Green;
26、; /對圖像添加灰色網(wǎng)格 myPane.XAxis.MajorGrid.IsVisible = true; myPane.YAxis.MajorGrid.IsVisible = true
27、; myPane.XAxis.MajorGrid.Color = Color.LightGray; myPane.YAxis.MajorGrid.Color = Color.LightGray; &
28、#160; /改變圖例的位置 myPane.Legend.Position = ZedGraph.LegendPos.Bottom; /使兩個曲線線性變細(xì) myCu
29、rve.Line.Width = 2.0F; myCurve2.Line.Width = 2.0F; /在曲線下填充區(qū)域 myCurve.Line.Fill = new Fi
30、ll(Color.White, Color.Red, 45F); myCurve2.Line.Fill = new Fill(Color.White, Color.Blue, 45F); /增加符號的大小然后填充其為白色
31、 myCurve.Symbol.Size = 8.0F; myCurve2.Symbol.Size = 8.0F; myCurve.Symbol.Fill = new Fill(Color.White);
32、60; myCurve2.Symbol.Fill = new Fill(Color.White); /對坐標(biāo)軸框架添加背景傾斜填充(其實就是坐標(biāo)軸的背景圖) / Add a background gradient fill to the axis frame myPane.Chart.Fill = new Fill(Color.White,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代辦公家具的環(huán)保理念與可持續(xù)發(fā)展
- 現(xiàn)代生活節(jié)奏下的胃腸疾病預(yù)防教育
- 生產(chǎn)制造中的綠色技術(shù)升級路徑與策略
- 基坑施工安全專項方案
- 現(xiàn)代服務(wù)業(yè)的發(fā)展趨勢及投資策略研究
- 生產(chǎn)安全監(jiān)督與危機管理一體化建設(shè)
- 生態(tài)農(nóng)業(yè)發(fā)展對商業(yè)模式的創(chuàng)新影響
- 現(xiàn)代農(nóng)業(yè)機械設(shè)備智能化國際對比研究
- 2024-2025學(xué)年高中生物 專題5 課題1 DNA的粗提取與鑒定說課稿 新人教版選修1
- 9 生活離不開他們 第一課時 說課稿-2023-2024學(xué)年道德與法治四年級下冊統(tǒng)編版001
- 2024屆上海市金山區(qū)高三下學(xué)期二模英語試題(原卷版)
- 學(xué)生春節(jié)安全教育
- GA/T 1280-2024銀行自助設(shè)備安全性規(guī)范
- 2024-2025年校長在教研組長和備課組長會議上講話
- 2024預(yù)防流感課件完整版
- 2025屆江蘇省常州市高級中學(xué)高三第二次模擬考試語文試卷含解析
- 高三日語一輪復(fù)習(xí)助詞「で」的用法課件
- 保險業(yè)消費者權(quán)益保護工作計劃
- 2024-2030年中國銣銫及其化合物行業(yè)深度調(diào)研及投資戰(zhàn)略分析報告
- 散貨物流行業(yè)市場調(diào)研分析報告
- JJF 2168-2024鹽霧試驗箱校準(zhǔn)規(guī)范
評論
0/150
提交評論