




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、該控件來自于CodeProject我大多的.NET程序的繪圖程序都用的是這個(gè)控件。下面是這個(gè)控件的文檔翻譯及其基本使用方法。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一個(gè)靈活的.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#畫二維線型圖像的方法嗎?這個(gè)就是高度可配置的繪圖類庫,當(dāng)然,他也是非常容易用的。 Introduc
3、tionZedGraph是一個(gè)類庫,為Windows Forms 設(shè)計(jì)的用戶控件,該控件可以通過專業(yè)的數(shù)據(jù)資料創(chuàng)建2D線、Bar和Pie圖像。該類庫提供高度的靈活性幾乎每一個(gè)圖像的部分都能由用戶修改。于此同時(shí),通過為所有圖像的屬性提供缺省值使類庫的用法保持簡單。類庫中包括選擇合適的刻度因數(shù)范圍和基于被顯示值的的數(shù)據(jù)范圍的步長值的代碼。此外,ZedGraph 兼容于.NET 2.0和VS.NET 2005.ZeGraph 是作為開源開發(fā)工程在SourceForge被維護(hù)的。該網(wǎng)站包括該項(xiàng)目的wiki、文檔、更新歷史和所有的發(fā)行版本。Wiki上含有一套簡單的圖像實(shí)例由公開的代碼完成(許多的例子包括
4、C#和VB代碼)。Background 我們可以尋找到很多的繪圖類庫,但是似乎沒有一個(gè)能夠滿足我的需要。我發(fā)現(xiàn)MSCHART太詭異了,許多其他的選項(xiàng)都不具有可配置性但我需要達(dá)到一種精致的外觀。當(dāng)然,許多商業(yè)開發(fā)包能夠做這種花招,但是我需要某種免費(fèi)的東東。由此,ZedGraph產(chǎn)生了! 這個(gè)類庫將可以產(chǎn)生各種線型、條形、圖形分割統(tǒng)計(jì)圖表在Form上,考慮到位置矩形和一些數(shù)據(jù)點(diǎn)(翻譯的有點(diǎn)詭異,沒太看明白)。ZedGraph處理二維線形或散點(diǎn)圖形,所彩的百分?jǐn)?shù)條形圖形,誤差條形圖像,日本燭臺圖形和圖形分割統(tǒng)
5、計(jì)圖表他現(xiàn)在還不能處理2.5D或3D表面圖形??梢酝ㄟ^坐標(biāo)軸標(biāo)簽、標(biāo)題、圖例標(biāo)簽、文字標(biāo)簽、箭頭、鏡像等對象修飾圖像。ZedGraphWiki 和online class documentation 提供了大量的有用的信息,針對其提供更多的信息,ZedGraph 有大量的選項(xiàng)沒有在這個(gè)入門文檔中提供。Using ZedGraph as a UserControl 將ZedGraph作為一個(gè)控件可由Visual Studio.NET的控件工具箱中獲取。 要?jiǎng)?chuàng)建ZedGraph,首先要打開Visual Studio.NET,創(chuàng)建一個(gè)新的Forms項(xiàng)目。打開f
6、orm設(shè)計(jì)器使其出現(xiàn)在當(dāng)前窗口,如下圖右擊工具箱->選擇項(xiàng)點(diǎn)擊瀏覽定位到 zedgraph.dll文件,并添加。一旦添加了此文件,你會(huì)看到ZedGraphControl選項(xiàng)在工具箱中。如下圖1. 在項(xiàng)目主菜單->選擇添加引用->添加ZedGraph.dll,然后點(diǎn)擊OK,重復(fù)這個(gè)過程添ZedGraph.Web.dll,這將包括所有的ZedGraph功能在你的工程中。2. 添加using ZedGraph;語句到你的主Form代碼中3. 在Form設(shè)計(jì)器中,從工具箱中拖拽ZedGraphControl到From上,按照你的意愿修改其大小和位置。你現(xiàn)在在你的Form中就有了一個(gè)Z
7、edGraph控件。如下圖4. 所有的ZedGraph功能都可以通過ZedGraphControl.MasterPane屬性來訪問,提供ZedGraphControl.GraphPane來引用第一個(gè)GraphPane在主MasterPane列表中。(下面會(huì)解釋這句話的意思)。5. 在Form設(shè)計(jì)器中雙擊Form(不是ZedGraphControl)。這將會(huì)放置一個(gè)Form1_Load()模板在你的代碼文件中。6. 在Form設(shè)計(jì)器中,激活Form后定位到屬性中的事件如圖,雙擊Resizes事件,這時(shí)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() 是獨(dú)立于Resize()的,所以我們能夠獨(dú)立的調(diào)用他通過Fo
9、rm1_Load() 方法。/這將保留10像素環(huán)繞控件的外部邊緣,定制這些使之適合你的需要。private void SetSize() zedGraphControl1.Location = new Point( 10, 10 ); /保留一個(gè)小的頁面空白在控件的周圍 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ù)變化時(shí)
19、60; zgc.AxisChange();9. 每次添加或改變數(shù)據(jù)的時(shí)候調(diào)用AxisChange()方法。這將告訴ZedGraph去重新計(jì)算坐標(biāo)軸的范圍,(注意:這是AxisChange()的功能你可以在任何你喜歡的時(shí)候調(diào)用這個(gè)方法,他會(huì)基于當(dāng)前坐標(biāo)點(diǎn)數(shù)據(jù)集合來更新坐標(biāo)范圍,如果你不希望坐標(biāo)軸被重新調(diào)節(jié),你也可以避免調(diào)用AxisChange())8. 執(zhí)行效果 Enhancing the graph ZedGraph 允許你通過多種途徑更改圖形的屬性,圖像的每個(gè)部分都被打包成一個(gè)類結(jié)構(gòu)體,這個(gè)結(jié)構(gòu)體有可更改的屬性去控制圖形的輸出
20、。下面就是一些在ZedGraph中提供的類(注意這些類是XML文檔,詳細(xì)的細(xì)節(jié)中每個(gè)類請看ZedGraph documentation ) Class Description MasterPane這是一個(gè)管理多個(gè)GraphPane對象的類,繼承于PaneBase。MasterPane類的應(yīng)用是可選的,因?yàn)镚raphPane類能夠直接用于單個(gè)面板。提供布局、排列和單個(gè)GraphPane對象的管理的方法 GraphPane圖像的主要類,繼承自PaneBase。包含所有其他的類作為屬性。多用于控制圖像面板的標(biāo)題、窗框架和坐標(biāo)軸框架、背景等
21、屬性。 XAxis,YAxis, Y2AxisAxis類的子類。這些類包括了很多坐標(biāo)軸顯示的形式,包括:刻度、網(wǎng)格、顏色、畫筆、字體、標(biāo)簽和類型。 Scale通過Axis類聲明的一個(gè)類實(shí)例。包括刻度范圍、步長、格式和刻度的顯示選項(xiàng)。由Linear,Log, Text, Date, Ordinal, Exponent,LinearAsOrdinal, and DateAsOrdinal scales的不同而不同。 Legend此類為描述位置、字體、顏色等性質(zhì)的類,用于繪制圖例 Curve
22、Item一個(gè)對應(yīng)單條曲線并包含數(shù)據(jù)的抽象基類。LineItem, BarItem, HiLowBarItem,ErrorBarItem, PieItem, StickItem,OHLCBarItem, and JapaneseCandleStickItem都繼承于此類。 CurveList一個(gè)集合類維護(hù)了一個(gè)CurveItem的對象鏈表。在鏈表中的曲線的順序控制著 Z-順序?yàn)榱死L圖。在鏈表中最后的曲線將會(huì)出現(xiàn)在其她的曲線之后。 GraphObj這是一個(gè)抽象的基類,他包含了多種的追加圖像對象在一個(gè)分塊中的位置信息。TextOb
23、j,ImageObj, LineObj, ArrowObj, EllipseObj,BoxObj, and PolyObj 都繼承自GraphObj. GraphObjList一個(gè)維護(hù)GraphObj鏈表的集合類。 FontSpec包括字體信息的功能類,主要是關(guān)于圖像上字體的顏色、角度、大小、樣式、框架和字體的背景填充。每一個(gè)包含字體信息的類將會(huì)包含一個(gè)或幾個(gè)FontSpec的對象去相應(yīng)的描述相關(guān)聯(lián)的字體。 Fill包括背景顏色特性的功能類。每一個(gè)含有色彩填充能力的對象都包含一個(gè)或多個(gè)Fill對象去相應(yīng)的描述相關(guān)聯(lián)
24、的顏色填充。 Border包括邊框特性的功能類。每一個(gè)含有邊框描述能力的對象都包含一個(gè)或多個(gè)Border對象去相應(yīng)的描述相關(guān)聯(lián)的邊框線形和顏色。 Location 一個(gè)通用的類,此類處理圖像對象在圖形中的位置。 PointPair 一個(gè)封裝了一對double型數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu),其表征了一個(gè)(x,y)的數(shù)據(jù)點(diǎn),這是在每個(gè)CurveItem中值數(shù)組的內(nèi)部的存儲(chǔ)格式。 PointPairList 一個(gè)集合類維護(hù)了一個(gè)PointPair對象的數(shù)據(jù)鏈表。 XDate 此類封裝了單獨(dú)的數(shù)據(jù)時(shí)間值
25、(Double)通過訪問上面的每一個(gè)類的屬性來修改圖像。例如,如果你包括下面的代碼在你的CreateGraph()方法中, 放在前述的代碼示例之后,輸出圖像將會(huì)相應(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; /使兩個(gè)曲線線性變細(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)軸框架添加背景傾斜填充(其實(shí)就是坐標(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)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 來自大自然啟示的故事寓言性質(zhì)作文8篇范文
- 樓盤銷售數(shù)據(jù)對比表
- 現(xiàn)代管理學(xué)理論與應(yīng)用測試題
- 食品營養(yǎng)學(xué)與實(shí)踐能力測試卷詳解
- 疫情期間考試試題及答案
- 宜賓燃?xì)饪荚囋囶}及答案
- 儀器分析考試試題及答案
- 六一兒童攝影活動(dòng)方案
- 六一古裝活動(dòng)方案
- 六一投球活動(dòng)方案
- 貴州省貴陽市2023?2024學(xué)年度第二學(xué)期期末監(jiān)測試卷高一 數(shù)學(xué)試題(含解析)
- 井岡山的故事試題及答案
- 城市管理公司管理制度
- 2025年中國合成生物學(xué)行業(yè)市場前景預(yù)測及投資價(jià)值評估分析報(bào)告
- 游藝項(xiàng)目合作合同協(xié)議書
- 觸電急救97課件
- 育嬰師上戶合同范本
- 醫(yī)療行業(yè)注塑車間的數(shù)字化改造實(shí)踐
- 俱樂部授權(quán)協(xié)議書
- 人教版(2024)七年級地理下學(xué)期期末達(dá)標(biāo)測試卷A卷(含解析)
- 《插花藝術(shù)》教材任務(wù)-項(xiàng)目三 任務(wù)二切花裝飾設(shè)計(jì)
評論
0/150
提交評論