第7章 數(shù)據(jù)圖表系統(tǒng)開(kāi)發(fā)_第1頁(yè)
第7章 數(shù)據(jù)圖表系統(tǒng)開(kāi)發(fā)_第2頁(yè)
第7章 數(shù)據(jù)圖表系統(tǒng)開(kāi)發(fā)_第3頁(yè)
第7章 數(shù)據(jù)圖表系統(tǒng)開(kāi)發(fā)_第4頁(yè)
第7章 數(shù)據(jù)圖表系統(tǒng)開(kāi)發(fā)_第5頁(yè)
已閱讀5頁(yè),還剩34頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第7章數(shù)據(jù)圖表系統(tǒng)(xìtǒng)開(kāi)發(fā)共三十九頁(yè)大綱(dàgāng)◎VB.NET數(shù)據(jù)圖表(túbiǎo)系統(tǒng)的相關(guān)技術(shù)◎使用GDI+繪制簡(jiǎn)單的圖◎使用dotnetCHARTING數(shù)據(jù)圖表系統(tǒng)繪制柱狀圖、餅圖和折線(xiàn)圖◎使用ZedGraph數(shù)據(jù)圖表系統(tǒng)繪制各種圖◎生成Word數(shù)據(jù)圖表系統(tǒng)共三十九頁(yè)7.1VB.NET數(shù)據(jù)(shùjù)圖表簡(jiǎn)介數(shù)據(jù)控件與水晶報(bào)表是數(shù)據(jù)庫(kù)表顯示的一個(gè)格式。除此之外,VB.NET還支持多種數(shù)據(jù)圖表顯示格式,常見(jiàn)的包括:GDI(GraphicDeviceInterface,圖形設(shè)備接口)數(shù)據(jù)圖表系統(tǒng)、GDI+數(shù)據(jù)圖表系統(tǒng)、dotnetCHARTING數(shù)據(jù)圖表系統(tǒng)、ZedGraph數(shù)據(jù)圖表系統(tǒng)和Word數(shù)據(jù)圖表系統(tǒng)。為了(wèile)在Windows操作系統(tǒng)上作畫(huà),微軟創(chuàng)造了圖形設(shè)備接口,簡(jiǎn)稱(chēng)為GDI,它是類(lèi)、函數(shù)、變量和常量的集合,或者說(shuō)是在應(yīng)用程序中繪畫(huà)所需要的絕大部分對(duì)象。GDI由已安裝在計(jì)算機(jī)中的GDI.DLL動(dòng)態(tài)庫(kù)來(lái)提供。GDI+是Windows系列操作系統(tǒng)用來(lái)執(zhí)行繪畫(huà)及其他相關(guān)圖形操作的子系統(tǒng)。操作系統(tǒng)WindowsXP和WindowsServer2003以及以上的版本中,GDI+已經(jīng)替換掉GDI。GDI+中的"+"表示相對(duì)于GDI來(lái)說(shuō),有很大的改進(jìn),增加了新的特點(diǎn)。GDI+允許創(chuàng)建獨(dú)立于設(shè)備的應(yīng)用程序,不用考慮應(yīng)用程序?qū)⒃谑裁礃拥挠布线\(yùn)行。共三十九頁(yè)7.1VB.NET數(shù)據(jù)圖表(túbiǎo)簡(jiǎn)介dotnetCHARTING是.NET圖表控件,對(duì)中文支持非常好,而且操作方便開(kāi)發(fā)快速,既支持WebForm也支持WinForm,官方地址是/。ZedGraph是一個(gè)開(kāi)源的.NET圖表類(lèi)庫(kù),支持可視化設(shè)計(jì),文檔齊全。用于創(chuàng)建(chuàngjiàn)任意數(shù)據(jù)的二維線(xiàn)型、條型、餅型圖表的一個(gè)類(lèi)庫(kù),也可以作為Windows窗體用戶(hù)控件和網(wǎng)頁(yè)控件。這個(gè)類(lèi)庫(kù)具有高度的適應(yīng)性,幾乎所有式樣的圖表都能夠被創(chuàng)建(chuàngjiàn)。類(lèi)庫(kù)的用法在于通過(guò)提供所有圖表屬性的省缺值來(lái)保持使用性的簡(jiǎn)單。ZedGraph在SourceForge建立了開(kāi)源項(xiàng)目,可以在/得到最新的版本。Word數(shù)據(jù)圖表系統(tǒng)是先利用微軟提供Word組件,動(dòng)態(tài)創(chuàng)建一個(gè)Word文檔,然后將圖表信息與文字說(shuō)明,直接寫(xiě)到文檔中。共三十九頁(yè)7.2GDI+數(shù)據(jù)(shùjù)圖表系統(tǒng)GDI+提供了對(duì)各種圖形繪制的支持,是對(duì)GDI的改進(jìn),也是.NET框架結(jié)構(gòu)的重要組成部分。GDI+提供了一個(gè)抽象層,隱藏了不同視頻卡之間的區(qū)別,直接調(diào)用WindowsAPI函數(shù)完成指定的任務(wù)。GDI+使應(yīng)用程序所使用的打印機(jī)與屏幕一樣,如果要打印某些東西,而不是顯示它們,只需指定輸出的設(shè)備是打印機(jī),再用相同的方式調(diào)用相同的WindowsAPI函數(shù)即可。GDI+為.NET系統(tǒng)提供了良好的支持,提供了多個(gè)命名空間(kōngjiān),可以在程序中調(diào)用并使用提供的各種類(lèi)。共三十九頁(yè)GDI+命名(mìngmíng)空間命名空間說(shuō)明System.Drawing包含與基本繪圖功能有關(guān)的大多數(shù)類(lèi)、結(jié)構(gòu)、枚舉和委托等。System.Drawing.Drawing2D為大多數(shù)高級(jí)2D和矢量繪圖操作提供了支持,包括消除鋸齒、幾何轉(zhuǎn)換和圖形路徑System.Drawing.Imaging幫助處理圖像(位圖、GIF文件等)的各種類(lèi)System.Drawing.Printing把打印機(jī)或打印預(yù)覽窗口作為輸出設(shè)備時(shí)使用的類(lèi)System.Drawing.Design一些預(yù)定義的對(duì)話(huà)框、屬性表和其他用戶(hù)界面元素,與在設(shè)計(jì)期間擴(kuò)展用戶(hù)界面相關(guān)System.Drawing.Text對(duì)字體和字體系列執(zhí)行更高級(jí)操作的類(lèi)共三十九頁(yè)GDI+命名(mìngmíng)空間常用的類(lèi)幾乎都包含在System.Drawing命名空間中。在GDI+中,大多數(shù)繪圖工作(gōngzuò)都是調(diào)用Graphics實(shí)例的方法完成的,它負(fù)責(zé)處理大多數(shù)繪圖操作。畫(huà)餅圖的思路:先畫(huà)一個(gè)橢圓,然后在橢圓內(nèi)部進(jìn)行分塊,并填充不同的顏色,這樣一個(gè)簡(jiǎn)單餅圖就完成了。建立工程Proj7-1并引入GDI+的命名空間“System.Drawing”。共三十九頁(yè)GDI+畫(huà)餅(huàbǐnɡ)圖案例名稱(chēng)(míngchēng):GDI+畫(huà)餅圖工程名稱(chēng):Proj7-1ImportsSystem.DrawingPublicClassForm1PrivateSubForm1_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load'定義一塊區(qū)域DimimageAsNewBitmap(350,200)DimgAsGraphics=Graphics.FromImage(image)g.Clear(Color.White)DimoutlineAsNewRectangle(10,5,300,100)'繪制圖片g.DrawEllipse(NewPen(Color.Black,8.0F),outline)g.FillPie(NewSolidBrush(Color.Red),outline,-20.0F,120.0F)g.FillPie(NewSolidBrush(Color.Yellow),outline,100.0F,120.0F)g.FillPie(NewSolidBrush(Color.Blue),outline,220.0F,100.0F)g.FillPie(NewSolidBrush(Color.Green),outline,320.0F,40.0F)'顯示并輸出Me.BackgroundImage=imageMe.BackgroundImageLayout=ImageLayout.Centerimage.Save("mypie.jpg")EndSubEndClass共三十九頁(yè)GDI+畫(huà)餅(huàbǐnɡ)圖

共三十九頁(yè)7.3dotnetCHARTING數(shù)據(jù)圖表(túbiǎo)系統(tǒng)dotnetCHARTING特點(diǎn)是水晶式效果,外觀(guān)非常漂亮,而且附帶了各種效果的示例代碼。dotnetCHARTING在生成統(tǒng)計(jì)圖的時(shí)候需要設(shè)置一個(gè)臨時(shí)目錄,用來(lái)保存生成統(tǒng)計(jì)圖的圖片,dotnetCHARTING的圖表效果好,很大程度上是因?yàn)?yīnwèi)它生成了圖片,然后將其顯示在界面上。因?yàn)?yīnwèi)是靜態(tài)圖片,因此圖表系統(tǒng)不支持縮放。如果對(duì)性能要求不高,dotnetCHARTING是非常好的選擇。共三十九頁(yè)7.3.1繪制(huìzhì)柱狀圖dotnetCHARTING針對(duì)WinForm和WebForm有不同的類(lèi)庫(kù),編寫(xiě)(biānxiě)窗口程序使用WinForm類(lèi)庫(kù)。dotnetCHARTING以動(dòng)態(tài)鏈接庫(kù)形式提供,如圖7-2所示。為了在程序中使用相關(guān)類(lèi),需要引入dotnetCHARTING命名空間,在主菜單“項(xiàng)目”中選擇“添加引用”,在選項(xiàng)卡“瀏覽”中將文件“dotnetCharting.WinForms.dll”添加到工程中。在程序中首先添加一個(gè)比較通用的繪圖類(lèi)ShowData。共三十九頁(yè)為了在程序中使用相關(guān)類(lèi),需要引入dotnetCHARTING命名空間,在主菜單“項(xiàng)目”中選擇“添加引用”,在選項(xiàng)卡“瀏覽”中將文件“dotnetCharting.WinForms.dll”添加到工程中。在程序中首先添加一個(gè)(yīɡè)比較通用的繪圖類(lèi)ShowData。共三十九頁(yè)繪制(huìzhì)柱狀圖案例(ànlì)名稱(chēng):dotnetCHARTING繪制圖表工程名稱(chēng):Proj7-2ClassShowData'屬性Private_phaysicalimagepathAsString'圖片存放路徑Private_titleAsString'圖片標(biāo)題Private_xtitleAsString'圖片x坐標(biāo)名稱(chēng)Private_ytitleAsString'圖片y坐標(biāo)名稱(chēng)Private_seriesnameAsString'圖例名稱(chēng)Private_picwidthAsInteger'圖片寬度Private_pichightAsInteger'圖片高度Private_dtAsDataTable'圖片數(shù)據(jù)源PublicPropertyPhaysicalImagePath()AsStringGetReturn_phaysicalimagepathEndGet共三十九頁(yè)繪制(huìzhì)柱狀圖共三十九頁(yè)7.3.2繪制(huìzhì)餅圖在繪制柱狀圖程序的基礎(chǔ)上,只要調(diào)用“show.CreatePie(Chart1)”函數(shù)(hánshù)就可以繪制餅圖共三十九頁(yè)7.3.3繪制(huìzhì)折線(xiàn)圖案例名稱(chēng):dotnetCHARTING繪制圖表(túbiǎo)工程名稱(chēng):Proj7-2PrivateSubButton3_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton3.ClickDimshowAsNewShowData()show.Title="平方根表"show.XTitle="整數(shù)"show.YTitle="整數(shù)的平方根"show.PicHight=300show.PicWidth=600show.SeriesName="值"show.PhaysicalImagePath="ChartImages"DimmydtAsNewDataTable("Squares")DimmydrAsDataRowDimiAsIntegermydt.Columns.Add(NewDataColumn("數(shù)字",GetType(Integer)))mydt.Columns.Add(NewDataColumn("開(kāi)根",GetType(Integer)))Fori=0To10mydr=mydt.NewRow()mydr(0)=imydr(1)=Math.Sqrt(i)mydt.Rows.Add(mydr)Nextshow.dt=mydtshow.CreateLine(Chart1)EndSub共三十九頁(yè)共三十九頁(yè)7.4ZedGraph數(shù)據(jù)圖表(túbiǎo)系統(tǒng)ZedGraph最大的特點(diǎn)是開(kāi)源,可以修改源代碼以適應(yīng)自己的需求,例如:ZedGraph在畫(huà)線(xiàn)型圖的時(shí)候,線(xiàn)條沒(méi)有使用抗鋸齒,只要修改Line類(lèi)的Default結(jié)構(gòu)中的默認(rèn)設(shè)置就可以了。和dotnetCHARTING相比,ZedGraph的效果要稍微差一些。由于ZedGraph是使用GDI+直接進(jìn)行描畫(huà),所以性能得到了保證,如果改變坐標(biāo)軸的刻度,和dotnetCHARTING相比,ZedGraph的反應(yīng)速度要快很多?;诖?,ZedGraph提供了很重要(zhòngyào)的縮放和拖動(dòng)功能,可以通過(guò)鼠標(biāo)滾輪進(jìn)行方法,縮小圖表,可以通過(guò)鼠標(biāo)中鍵來(lái)拖動(dòng),非常方便。共三十九頁(yè)7.4ZedGraph數(shù)據(jù)圖表(túbiǎo)系統(tǒng)對(duì)于類(lèi)似股市的實(shí)時(shí)走勢(shì),CPU使用率等實(shí)時(shí)變化的數(shù)據(jù),使用ZedGraph也可以(kěyǐ)很方便地作到。ZedGraph在基于PointPairList作畫(huà),所以你只要在PointPairList這個(gè)集合中添加新的數(shù)據(jù),然后進(jìn)行重畫(huà)就可以(kěyǐ)實(shí)現(xiàn)??偟膩?lái)說(shuō),dotnetCHARTING生成的圖表效果好,但是性能方面較差,對(duì)實(shí)時(shí)要求強(qiáng)的需求不適應(yīng)。ZedGraph開(kāi)源,效果比起dotnetCHARTING差,但是性能好,能適應(yīng)有實(shí)時(shí)要求的數(shù)據(jù)。ZedGraph和dotnetCHARTING也提供一個(gè)DLL文件,名稱(chēng)是:“ZedGraph.dll”,使用步驟和dotnetCHARTING也一樣。共三十九頁(yè)7.4ZedGraph數(shù)據(jù)(shùjù)圖表系統(tǒng)共三十九頁(yè)7.4.1繪制(huìzhì)橫柱狀圖新建工程Proj7-3,在程序中添加WebGraphControl控件,同時(shí)通過(guò)“添加引用”將ZedGraph.dll加入,在From窗體上添加ZedGraphControl控件,在工程中添加6個(gè)按鈕,分別繪制不同的圖形,第一個(gè)按鈕繪制橫柱狀圖。案例名稱(chēng):繪制橫柱狀圖工程名稱(chēng):Proj7-3ImportsZedGraphImportsSystem.DrawingPublicClassForm1PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.ClickDimmyPaneAsGraphPane=ZedGraphControl1.GraphPane'myPane.Title.Text="標(biāo)題(biāotí)"myPane.YAxis.Title.Text="Y軸說(shuō)明"myPane.XAxis.Title.Text="X軸說(shuō)明"Dimlabels()AsString={100,230,42,40,80,10,75}Dimx()AsDouble={40,300,115,75,22,98,40}Dimx2()AsDouble={120,175,95,57,113,110}Dimx3()AsDouble={204,192,119,80,134,156}DimmyCurveAsBarItem=myPane.AddBar("Here",x,Nothing,Color.Red)myCurve.Bar.Fill=NewFill(Color.Red,Color.White,Color.Red,90.0F)myCurve=myPane.AddBar("There",x2,Nothing,Color.Blue)myCurve.Bar.Fill=NewFill(Color.Blue,Color.White,Color.Blue,90.0F)myCurve=myPane.AddBar("Elsewhere",x3,Nothing,Color.Green)myCurve.Bar.Fill=NewFill(Color.Green,Color.White,Color.Green,90.0F)myPane.YAxis.MajorTic.IsBetweenLabels=TruemyPane.YAxis.Scale.TextLabels=labelsmyPane.YAxis.Type=AxisType.TextmyPane.BarSettings.Type=BarType.StackmyPane.BarSettings.Base=BarBase.YmyPane.Chart.Fill=NewFill(Color.White,_Color.FromArgb(255,255,166),45.0F)ZedGraphControl1.AxisChange()SetSize()EndSubPrivateSubSetSize()ZedGraphControl1.Location=NewPoint(10,10)ZedGraphControl1.Size=NewSize(ClientRectangle.Width-40,ClientRectangle.Height-40)EndSub共三十九頁(yè)7.4.1繪制(huìzhì)橫柱狀圖共三十九頁(yè)7.4.2繪制(huìzhì)豎柱狀圖案例名稱(chēng):繪制豎柱狀圖工程(gōngchéng)名稱(chēng):Proj7-3PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.ClickDimmyPaneAsGraphPane=ZedGraphControl1.GraphPanemyPane.Title.Text="消費(fèi)者學(xué)歷統(tǒng)計(jì)"'設(shè)計(jì)圖表的標(biāo)題myPane.XAxis.Title.Text="學(xué)歷類(lèi)型"'X軸標(biāo)題myPane.YAxis.Title.Text="人數(shù)"'Y軸標(biāo)題DimlistAsNewPointPairList()DimxAsIntegerForx=0To10'縱坐標(biāo)的值Randomize()DimyAsSingle=CInt(Int((100*Rnd())+1))list.Add(x,y)NextDimmyCurve=myPane.AddBar("數(shù)據(jù)統(tǒng)計(jì)",list,Color.Green)myCurve.Bar.Fill=NewFill(Color.Green,Color.Green,Color.Green)Dimlabels(10)AsStringDimiAsIntegerFori=0To10'橫坐標(biāo)文字labels(i)=i.ToString()NextmyPane.XAxis.Scale.TextLabels=labelsmyPane.XAxis.Type=AxisType.TextmyPane.Fill=NewFill(Color.White,Color.FromArgb(200,200,255),45.0F)myPane.Chart.Fill=NewFill(Color.White,Color.White,45.0F)ZedGraphControl1.AxisChange()SetSize()EndSub共三十九頁(yè)共三十九頁(yè)7.4.3繪制(huìzhì)實(shí)心雙線(xiàn)圖案例名稱(chēng):繪制實(shí)心(shíxīn)雙線(xiàn)圖工程名稱(chēng):Proj7-3PrivateSubButton3_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton3.ClickDimmyPaneAsGraphPane=ZedGraphControl1.GraphPanemyPane.Title.Text="標(biāo)題"myPane.YAxis.Title.Text="Y軸說(shuō)明"myPane.XAxis.Title.Text="X軸說(shuō)明"DimlistAsNewPointPairList()Dimlist2AsNewPointPairList()DimiAsInteger,xAsDouble,yAsDouble,y2AsDoubleFori=0To35x=NewXDate(2010,i+1,1)y=Math.Sin(i*Math.PI/15.0)y2=2*ylist.Add(x,y)list2.Add(x,y2)NextiDimmyCurve2AsLineItem=myPane.AddCurve("MyCurve2",list,Color.Blue,_SymbolType.Circle)myCurve2.Line.Fill=NewFill(Color.White,Color.Red,45.0F)myCurve2.Symbol.Fill=NewFill(Color.White)DimmyCurveAsLineItem=myPane.AddCurve("MyCurve",_list2,Color.MediumVioletRed,SymbolType.Diamond)myCurve.Line.Fill=NewFill(Color.White,Color.Green)myCurve.Symbol.Fill=NewFill(Color.White)myPane.XAxis.Type=AxisType.DatemyPane.XAxis.CrossAuto=TruemyPane.Chart.Fill=NewFill(Color.White,Color.LightGoldenrodYellow,45.0F)ZedGraphControl1.AxisChange()SetSize()EndSub共三十九頁(yè)7.4.3繪制(huìzhì)實(shí)心雙線(xiàn)圖共三十九頁(yè)7.4.4繪制(huìzhì)餅圖案例名稱(chēng):繪制(huìzhì)餅圖工程名稱(chēng):Proj7-3PrivateSubButton4_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton4.ClickDimmyPaneAsGraphPane=ZedGraphControl1.GraphPanemyPane.Title.Text="餅圖"myPane.Title.FontSpec.IsItalic=TruemyPane.Title.FontSpec.Size=24.0FmyPane.Title.FontSpec.Family="餅圖"myPane.Fill=NewFill(Color.White,Color.Goldenrod,45.0F)myPane.Chart.Fill.Type=FillType.NoneDimsegment1AsPieItem=myPane.AddPieSlice(20,Color.Navy,_Color.White,45.0F,0,"North")Dimsegment3AsPieItem=myPane.AddPieSlice(30,Color.Purple,_Color.White,45.0F,0.0,"East")Dimsegment4AsPieItem=myPane.AddPieSlice(20,Color.LimeGreen,_Color.White,45.0F,0,"West")Dimsegment2AsPieItem=myPane.AddPieSlice(40,Color.SandyBrown,_Color.White,45.0F,0.2,"South")Dimsegment6AsPieItem=myPane.AddPieSlice(250,Color.Red,_Color.White,45.0F,0,"Europe")Dimsegment7AsPieItem=myPane.AddPieSlice(50,Color.Blue,_Color.White,45.0F,0.2,"PacRim")Dimsegment8AsPieItem=myPane.AddPieSlice(400,Color.Green,_Color.White,45.0F,0,"SouthAmerica")Dimsegment9AsPieItem=myPane.AddPieSlice(50,Color.Yellow,_Color.White,45.0F,0.2,"Africa")DimcurvesAsCurveList=myPane.CurveListDimtotalAsDouble=0,iAsIntegerDimpieAsPieItemFori=0Tocurves.Count-1pie=curves(i)total+=pie.ValueNextiDimtextAsNewTextObj("Total2004Sales"+Chr(10)+"$"+_total.ToString()+"M",0.18F,0.4F,CoordType.PaneFraction)text.Location.AlignH=AlignH.Centertext.Location.AlignV=AlignV.Bottomtext.FontSpec.Border.IsVisible=Falsetext.FontSpec.Fill=NewFill(Color.White,Color.FromArgb(255,100,100),45.0F)text.FontSpec.StringAlignment=StringAlignment.CentermyPane.GraphObjList.Add(text)Dimtext2AsNewTextObj(text)text2.FontSpec.Fill=NewFill(Color.Black)text2.Location.X+=0.008Ftext2.Location.Y+=0.01FmyPane.GraphObjList.Add(text2)ZedGraphControl1.AxisChange()SetSize()EndSub共三十九頁(yè)繪制(huìzhì)餅圖共三十九頁(yè)7.4.5繪制(huìzhì)分段柱狀圖案例名稱(chēng):繪制分段(fēnduàn)柱狀圖工程名稱(chēng):Proj7-3PrivateSubButton5_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton4.ClickDimmyPaneAsGraphPane=ZedGraphControl1.GraphPanemyPane.Title.Text="標(biāo)題"myPane.YAxis.Title.Text="Y軸說(shuō)明"myPane.XAxis.Title.Text="X軸說(shuō)明"DimlistAsNewPointPairListDimrandAsNewRandomForiAsInteger=0To10DimxAsDouble=CDbl(i)+1DimyAsDouble=rand.NextDouble()*1000DimzAsDouble=i/4.0list.Add(x,y,z)NextDimmycurveAsBarItem=myPane.AddBar("0",list,Color.Black)DimcolorsAsColor()={Color.Red,Color.Yellow,Color.Green,Color.Blue,Color.Black}mycurve.Bar.Fill=NewFill(colors)mycurve.Bar.Fill.Type=FillType.GradientByZmycurve.Bar.Fill.RangeMin=0mycurve.Bar.Fill.RangeMax=3Dimlist1AsNewPointPairListDimrand1AsNewRandomForiAsInteger=0To10DimxAsDouble=CDbl(i)+1DimyAsDouble=rand1.NextDouble()*1000DimzAsDouble=i/4.0list1.Add(x,y,z)Nextmycurve=myPane.AddBar("1",list1,Color.DarkGreen)myPane.BarSettings.Type=BarType.StackZedGraphControl1.AxisChange()SetSize()EndSub共三十九頁(yè)7.4.5繪制(huìzhì)分段柱狀圖共三十九頁(yè)7.4.6繪制(huìzhì)雙線(xiàn)曲線(xiàn)案例名稱(chēng):繪制(huìzhì)雙線(xiàn)曲線(xiàn)工程名稱(chēng):Proj7-3PrivateSubButton6_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton6.ClickDimmyPaneAsGraphPane=ZedGraphControl1.GraphPanemyPane.Title.Text="標(biāo)題"myPane.YAxis.Title.Text="Y軸說(shuō)明"myPane.XAxis.Title.Text="X軸說(shuō)明"'設(shè)置初始數(shù)據(jù)Dimx,y1,y2AsDoubleDimlist1AsNewPointPairList()Dimlist2AsNewPointPairList()DimiAsIntegerFori=0To36x=CDbl(i)+5y1=1.5+Math.Sin(CDbl(i)*0.2)y2=3.0*(1.5+Math.Sin(CDbl(i)*0.2))list1.Add(x,y1)list2.Add(x,y2)Next'創(chuàng)建紅色的菱形曲線(xiàn),圖中的"Porsche"DimmyCurve=myPane.AddCurve("Porsche",list1,Color.Red,SymbolType.Diamond)'創(chuàng)建藍(lán)色的圓形曲線(xiàn),圖中的"Piper"DimmyCurve2=myPane.AddCurve("Piper",list2,Color.Blue,SymbolType.Circle)'在數(shù)據(jù)變化時(shí)繪制圖形ZedGraphControl1.AxisChange()SetSize()EndSub共三十九頁(yè)繪制(huìzhì)雙線(xiàn)曲線(xiàn)共三十九頁(yè)7.5Word數(shù)據(jù)圖表生成(shēnɡchénɡ)系統(tǒng)圖表可以通過(guò)操作系統(tǒng)(cāozuòxìtǒnɡ)的Word組件,自動(dòng)生成到Word文檔中。Word系統(tǒng)自帶的組件是“MicrosoftWord11.0ObjectLibrary”,中間的數(shù)字是版本號(hào),根據(jù)版本的Word版本的不同,會(huì)有所不同,但是功能基本相同,主要功能是在應(yīng)用程序中操作和Word相關(guān)的對(duì)象。為了生成柱狀圖和折線(xiàn)圖等圖形,需要使用組件“MicrosoftGraph11.0ObjectLibrary”.共三十九頁(yè)7.5.1生成(shēnɡchénɡ)Word文檔ImportsMicrosoft.Offic

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論