微軟圖表控件mschart使用指南_第1頁
微軟圖表控件mschart使用指南_第2頁
微軟圖表控件mschart使用指南_第3頁
微軟圖表控件mschart使用指南_第4頁
微軟圖表控件mschart使用指南_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

微軟圖表控件MsChart使用指昨天在網(wǎng)上看到了微軟發(fā)布了.NET3.5框架下的圖表控件,第一顯只能在的開發(fā)環(huán)境中使用需要.Net3.5Sp1以及VS2008的開發(fā)環(huán)境。下面是地址.NETFramework3.5.NETFramework3.5圖mework

ChartControls

.NET包含英文版,中文版。上面提供的是中文版的,可以更語言包:ChartControlsfor Framework3.5LanguagePack.NETFramework3.5的 件的語言含23中語言。 ChartControlsAdd-onfor alStudio2008–文檔( ChartControlsfor.NETFramewor WinForm和A的例子(SamplesEnvironment ChartControls)–Demo:. 圖、排列圖等等,同時也支持3D樣式的圖表顯示,不過我覺得最ascript動作等而不是像其它圖形類庫僅生成一幅而已通過這些,加上微軟自己的Ajax框架,可以建立一個可以互動的圖控件的安裝相對比較簡單完后先執(zhí)行“MSChart.exe”程序,它會自動檢測你的環(huán)境,安裝到系統(tǒng)中去,如果要在VS2008環(huán)境中直接使用,那么需要安裝ForVs2008的插件,MSChart_VisualStudioAddOn.exeMSChartLP_chs.exeVs2008,在建立項目的時候,你就能在中看到有一個Chart的控件了,如下圖:一樣拖放到要使用的Web界面即可。初步研究了一下,整個圖形1.Annotations--圖形注解集合2.ChartAreas-- Annotations注解集ChartAreas可以理解為是一個圖表的繪圖區(qū),例如,你想在是不合理的,對于這種情況,可以建立兩個ChartArea,一個用性,如:X,Y軸屬性、背景等。Series圖表序需要注意的是,每一個圖表,你可以指定它的繪制區(qū)域(C繼續(xù)回到ChatresSries,Titles標(biāo)題合ooltip以及Url。Label即的含義,可以在的關(guān)鍵位置進(jìn)行一些關(guān)鍵數(shù)像上圖:X軸和Y軸的文字便是以及圖表曲線中的紅點上的文字也是添加了可以讓人更容易的對內(nèi)容進(jìn)行理解Tooltip即提示的含義,用于在各個關(guān)鍵點,如:、圖形Tooltip的Tooltip可以支持簡單方式以及自定義的方式,簡單方式即像平時Html頁面設(shè)置的title之類的屬性效果,而自定義的方式,參考例子的:InteractivityandAJAX/Tooltips以及InteractivityandAJAX/ClientSideScripts下面的相關(guān)例子。Url圖表控件中有一大半的控件都有Url及Tooltip的建議大家看看例子中的InteractivityandAJAX部份,很:)到了Ajax的方法,以及WindowsApi取得系統(tǒng)內(nèi)存的方法。首先,建立一個Aspx頁面,拖動一個圖表控件到頁面,設(shè)置 puterInfo是一個定義的結(jié)構(gòu)體及調(diào)用Win32API接口的一個類程序分別取得每一個圖表對象,每次加載的時候,都重新取得當(dāng)前的內(nèi)存和Cpu信息,再ableViewState屬性為True,否則無法記錄狀態(tài)。<asp:ChartID="ChartMemory"runat="server"BackGradientStyle="TopBottom"te"EnableViewState="True"<asp:ChartID="ChartMemory"runat="server"BackGradientStyle="TopBottom"te"EnableViewState="True"Height="363px"<asp:LegendAlignment="Center"Docking="Bottom"="Legend1"Title="圖例<asp:TitleFont="微軟雅黑,16pt"Name="Title1"Text="內(nèi) 圖表<asp:SeriesBorderColor="White"BorderWidth="3"ChartType="Spline"Legend="Legend1"Name="內(nèi)存"<asp:Series<asp:SeriesBorderColor="White"BorderWidth="3"ChartType="Spline"Legend="Legend1"Name="內(nèi)存"<asp:SeriesBorderWidth="3"ChartArea="ChartArea1"Legend="Legend1"Name="全部占用內(nèi)存<asp:SeriesChartArea="ChartArea2"rea"<asp:ChartAreaBackColor="224,224,224"<asp:ChartArea一共建立了兩個繪圖區(qū),一個用于呈現(xiàn)內(nèi)存使用情況的在ChartArea1區(qū)域,另一個則是呈現(xiàn)Cpu使用情況的,放置在ChartArea2區(qū)域了。一共有三個圖表,分別表示已使用的物理內(nèi)存、全部Cpu使用顯示的情況。添加一個Ajax的計時器以及Ajax的ScriptManager,UpdatePanel,把計時器和圖表控件都拖進(jìn)UpdatePanel里面。設(shè)置計staticPerformanceCounterstaticPerformanceCounterpc=new("Processor","%ProcessorTime",protectedvoidder,EventArgs MEMORY_INFOMemInfo=new ComputerInfo.GlobalMemoryStatus(ref Seriesseries= intxCount=series.Points.Count==0?0:Count-intxCount=series.Points.Count==0?0:Count-doublelastXValue=series.Points.Count==0?1:Points[xCount].XValue+doublelastYValue=(double)(MemInfo.dwTotalPhys-series.Points.AddXY(lastXValue,//Totalseries=lastYValue=wTotalPhys-MemInfo.dwAvailPhys-series.Points.AddXY(lastXValue,series=lastYValue=series.Points.AddXY(lastXValue,//Removepointsfromtheleftchartsideifnumberofntsexceedswhile(this.ChartMemory.Series[0].Points.Count>{{//Removeseriesforeach(Seriess//Removeseriesforeach(Seriessin{}}//AdjustcategoricaldoubleaxisMinimum=this.ChartMemory.ChartAreas[0].AxisX.Minimum=um=mum+ //////取得計算機(jī)的系統(tǒng)信///publicclass//////取得計算機(jī)的系統(tǒng)信///publicclass{//////Windows//////<param///<parampublicstaticexternvoidrWinDir,int////////////<param///<parampublicstaticexternvoidSysDir,int///CPU//////<parampublicstaticexternvoidGetSystemInfo(refCPU_INFO//////<parampublicstaticexternvoidGetSystemInfo(refCPU_INFO////////////<parampublicstaticexternvoidGlobalMemoryStatus(ref_INFO////////////<parampublicstaticexternvoidGetSystemTime(refINFOpublic{{}}}//定義CPU的信息結(jié)publicstruct{public}//定義CPU的信息結(jié)publicstruct{publicuintpublicuint publicuintpublicuintpublicuintpublicuintpublicuintpublicuintpublicuintpublicuint}//定義內(nèi)存的信息結(jié)publicstructpublicpublicuintpublicuintpublicuintpublicuintpublicuintpublicuintpublicuintpublicuintpublicuintpublicuintpublicuintpublicuint}//定義系統(tǒng)時間的信息結(jié)publicstruct{publicushortpublicushortpublicushortpublicushortpublicushortpublicushortpublicushortpublicushort 數(shù)據(jù)綁定(交叉表因此,寫的文章中難免有不足或的地方,希望各位朋友指正出G畢竟,SG要動態(tài)實現(xiàn)一圖表的制是常對于軟的如:可以在圖表的設(shè)計界面,在屬性設(shè)置窗口中的Series屬性下的Points中添加需要的數(shù)據(jù).可以在代碼中,動態(tài)添加數(shù)據(jù)可以在代碼中設(shè)置一個或多個數(shù)據(jù)源,直接綁定到圖表在此處,3,4兩點.3點,相對來說比較簡單,在代碼中,找到要添加代碼的Series,通過它下面Points的Add、AddXY、AddY等方法,即可以實現(xiàn)數(shù)據(jù)的添加.例doublefor(t=0;t<=(2.5*Math.PI);t+={doublech1=doublech2=Math.Sin(t-Chart1.Series["Channel1"].Points.AddXY(t,Chart1.Series["Channel2"].Points.AddXY(t,}(注:代碼摘自微軟的例子,上例中,Chart1為圖表的名字,Channel1、Channel2分別表示兩個Series數(shù)據(jù)序列)先來看看圖表控件都支持什么類型的數(shù)據(jù)綁定,根據(jù)文檔的說法,只要是實現(xiàn)了IEnumerable接口的數(shù)據(jù)類型,都可以綁定到圖表控件中例如:DataView,DataReader,DataSet,DataRow,D olumn,Array,List, mand,OleDbCommand,SqlDataAdapter,及OleDbDataAdapter對象對于開發(fā)來說,最常用的還是DataView、DataReader、DataSet、DataRow、Array、List這幾種類型了,有幾點需要注ds1,Y軸可以綁定另一個數(shù)據(jù)集ds2X定到一個List數(shù)據(jù)對象,Y軸綁定到一個DataView對象等圖表控件的Y軸數(shù)據(jù),支持一次綁定多個值,以繪制時間、調(diào)用交叉表綁定的方法。否則判斷是否時綁定XY軸(包括、超、圖例文字等自定義屬性),如果是,則調(diào)用Points.DataBindX軸或Y軸數(shù)據(jù),如果有,則分別調(diào)用X,Y軸的綁定方法Points.DataBindX,Points.DataBindY進(jìn)行數(shù)據(jù)綁定。最后,再判斷是否需要進(jìn)行多個Y軸值的綁定。1122334154627483mySelectQuery="SELECTName,FROMOleDbConnectionmyConnection=newmandd(mySelectQuery,OleDbDataReadermyReader Chart1.DataBindTable(myReader,因為數(shù)據(jù)源中只有兩列Name和Sales,因此在調(diào)用Chart1.DataBindTable方法的時候,告訴了圖表X軸的名稱為Name,因此自動將Sales設(shè)置為Y軸的數(shù)據(jù)了.生成的圖形如下:如果修改一下Sql語句為:ELECTNae,ID,ReinIDREPS生:此時,圖表自動將ID,RegionID字段當(dāng)成了Y值,生成了兩個Seri上面是一種動態(tài)綁定的方式,有人可能會問了,如果確定我要綁定的列,比如:X軸綁定某個字段,Y軸綁定某個字段如何操作呢?第一種:這種方法可能是很常見的,在原來的.NET編程中出現(xiàn)的機(jī)//設(shè)置數(shù)據(jù)源,myDvchart1.DataSource=XYchart1.Series["Series1"].XValueMember=chart1.Series["Series1"].YValueMembers=//myReader//myReaderDataReaderChart1.Series["Series1"].Points.DataBindXY(myReader,"Name",第三種:調(diào)用DataBindChart1.Series["Series1"].Points.DataBind(myReader,"Name","Sales",Chart1.Series["Series1"].Points.DataBind(myReader,"Name","Sales",自己建立Series,要顯示兩個柱狀圖,像上面的例子中的圖形,那么得手動建立兩個Series,然后分別進(jìn)行上面的綁定操作。此處說一下Label和Tooltip的綁定方式,要在綁定的圖表中顯示LabelTooltipSeries1和Series2,Chart1.Series["Series1"].Label=efaultView,"Name","ID",Chart1.Series["Series2"].Label=efaultView,"Name","Reg

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論