999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

DevExpress圖表控件XtraCharts在監控軟件中的應用

2011-08-08 12:48:02張國梁
電腦與電信 2011年6期
關鍵詞:圖表設置

張國梁

(西藏民族學院網絡信息技術中心,陜西 咸陽 712082)

1.概述

DevExpress是一流的控件套包產品。它功能強大,是.NET基礎控件擴展包,可以快速開發出專業、強大的應用程序。其中的XtraCharts組件可以方便、快捷的開發出有關二維和三維圖表軟件。該組件可使用在窗口應用、ASP.NET和打印頁面上。XtraCharts可以可視化各種數據,包括數據庫表和集合數據。XtraCharts的二維圖表包括柱狀圖、點圖、線圖、餅圖等,同時還支持三維圖。

一般的監控軟件,都需要采集監控對象的各項數據,并動態顯示各項數據變化。如果直接從底層做會比較復雜,而且要達到專業性的顯示效果更難。但是,如果使用XtraCharts來實現,可以極大提高開發效率和效果。開發人員不必耗費太多時間在圖表顯示上,而將重點放在數據的處理上。

2.XtraCharts應用方法和實例分析

ChartControl控件是將XtraCharts用在WinForm上。本文主要論述ChartControl控件應用。XtraCharts在ASP.NET和打印頁面上應用方法和此類似。DevExrpress為用戶提供兩種方式使用該控件:一是可以將ChartControl直接拖放在窗口上,通過Chart Wizard來定制具體的應用;二是在程序運行時,直接通過代碼來生成定制具體的應用。第一種方式簡單方便,適合簡單應用。第二種方法比較復雜,但靈活,適合復雜應用。本文主要介紹第二種方式。

ChartControl將要顯示的數據和對應圖形分離。該控件將每一組相關的數據封裝在一個series對象中。其中一個series對象代表了一系列相關的數據點,作為在圖表上顯示的一個分組。同一個series對象可以不同的視覺方式表示。比如同一組數據可以分別使用柱狀圖、點圖、線圖、餅圖等表示。Chart-Control中的Diagram對象用來表示圖表的顯示布景,包括Axis坐標軸,Gridline網格線,圖例Legend等。

下面根據實例來分析ChartControl應用方法。例如,如果需要開發有關監控病人體征的軟件,在微機上實現病人體征動態顯示和監控,則需要在圖表上同時顯示多項數據動態變化圖。假設要監控病人的體征:包括體溫、呼吸和脈搏值三項數據。這三項數據都可以看作為是以某一時間點為自變量的函數的值。時間點之間有固定時間間隔。因此,可以設計讓三項數據共用一個時間軸,用X軸表示,同時這三項數據又分別對應一個Y軸。三項數據分別對應三個series對象。

3.實現方法和步驟

3.1 設置Diagram對象

自定義一個類來實現。用來設定圖表顯示元素,包括坐標軸和圖例等。坐標軸分為主坐標軸和副坐標軸。需要將不同類型數據顯示在同一張圖表上,而每一項數據的數值有不同范圍。因此就需要多個坐標軸表示這每一項數據,每一種數據封裝在一個series對象中。因此每一個坐標軸和一個series對象綁定。在本文應用中,將采集數據的時間作為X軸,在Y軸方向分別為每一個時間點上對應的體溫、呼吸和脈搏值。因此需要設定一個X軸和三個Y軸。其中一個為主Y軸呼吸數據綁定,兩個副Y軸分別同體溫數據和脈搏數據綁定。使用下面的代碼來實現一個表示體溫的副Y軸。

上面提到過Diagram對象用來設置圖表上的顯示元素。因此,首先定義Diagram對象。再將副軸加入到Diagram對象上。

private XYDiagram xyDiagram1;

xyDiagram1.SecondaryAxesY.AddRange(new SecondaryA-xisY[]

{secondaryAxisY1,secondaryAxisY2});

SecondaryAxisY secondaryAxisY1=new SecondaryAxisY();//定義一個副Y軸。

secondaryAxisY1.Alignment=AxisAlignment.Near;//設定顯示位置。

secondaryAxisY1.GridSpacingAuto=false;//網格線間隔手動設置。

secondaryAxisY1.GridSpacing=2;//設置網格線的間隔。

secondaryAxisY1.Range.MaxValueSerializable="42";//顯示體溫的最大值。

secondaryAxisY1.Range.MinValueSerializable="20";//顯示體溫的最小值。

secondaryAxisY1.Range.Auto=false;

secondaryAxisY1.Range.SideMarginsEnabled=true;

secondaryAxisY1.NumericOptions.Format= DevExpress.XtraCharts.NumericFormat.Number;

secondaryAxisY1.NumericOptions.Precision=1;

secondaryAxisY1.Name="secondaryAxisY1";

最后再用XYDiagram對象xyDiagram1設定ChartControl對象中,Diagram屬性。

lineChart.Diagram=xyDiagram1;

3.2 定義Series對象

每一個Series對象綁定一項數據和一個Y軸。下面代碼,定義Series對象ser1,顯示類型為Spline,表示樣條曲線。并且和上面定義的secondaryAxisY1綁定。

Series ser1=new Series(“體溫”,ViewType.Spline);

ser1.ArgumentScaleType=ScaleType.DateTime;//自變量類型為日期時間型。

((LineSeriesView)ser1.View).LineMarkerOptions.Kind =MarkerKind.Triangle;//設置ser1對應的圖例。

((LineSeriesView)ser1.View).LineStyle.DashStyle=Dash-Style.Solid;

((LineSeriesView)ser1.View).Color=Color.Red;

((LineSeriesView)ser1.View).LineMarkerOptions.Size=10;

((LineSeriesView)ser1.View).LineStyle.Thickness=1;

ser1.PointOptions.ArgumentDateTimeOptions.Format=Date-TimeFormat.ShortTime;

ser1.SeriesPointsSorting=SortingMode.Ascending;

下面定義樣條曲線視圖SplineSeriesView對象spline-SeriesView1。設定其對應的坐標軸為secondaryAxisY1。再用splineSeriesView1設置ser1的View屬性。

SplineSeriesView splineSeriesView1=new SplineSeriesView();

splineSeriesView1.AxisYName="secondaryAxisY1";

ser1.View=splineSeriesView1;

最后將ser1加到圖表上。代碼為:

lineChart.Series.Add(ser1);//lineChart為ChartControl對象。

3.3 向Series對象上添加數據

當數據可以動態更新時,相應的曲線也會變化,從而實現動態曲線。定義定時器,在定時器事件中加數據點。代碼如下,pointTime為時間點,dd為對應的值。

private void timer1_Tick(object sender,EventArgs e)

{

ser1.Points.Add(new SeriesPoint(pointTime,new double[]{dd}));

pointTime=pointTime.AddMinutes(5);

}

3.4 實現圖表自動滾屏

當數據不斷增加,在圖表上顯示完一屏時,就需要自動滾屏。具體的做法是,定時修改X軸的表示范圍。當代碼如下:

xyDiagram1.AxisX.Range.Auto=false;

xyDiagram1.AxisX.Range.MaxValue=start;//設置X軸的起點

xyDiagram1.AxisX.Range.MinValue=end;//設置X軸的終點。

當X軸的表示范圍變化時,顯示的曲線隨之移動,從而實現圖表的滾屏。

4.應用效果分析

通過以上的方法和步驟,就可以使用DevExpress來實現較為復雜的圖表功能,在一個圖表顯示多種不同的數據,將這些不同數據和指定坐標軸綁定,并實現圖表的動態更新和自動滾屏。實現效果如圖1病人體征監測圖所示。圖1中顯示了三項數據的變化趨勢,并包含一個X軸和三個Y軸,圖中上部為X軸表示時間,右側從左到右依次分別為副Y軸2、副Y軸1和主Y軸。體溫對應紅色線和副Y軸1,圖例為三角形。呼吸對應紫色線和副Y軸2,圖例為正方形。呼吸對應褐色線和主Y軸,圖例為圓形。

圖1 病人體征監測圖

本文中使用的開發環境:VS2008 C#,DevExpress控件包V8.2。示例軟件運行環境:.netframework2.0,windows xp/windows2003/windows7。

5.結語

在本文中,通過監控軟件的應用實例,介紹了DevExpress圖表控件的使用方法和步驟。從中可以看出,使用DevExpress中XtraChart組件來開發圖表相關軟件,既可以實現比較復雜的功能,又可以達到比較好的顯示效果。同時開發人員不必耗費太多精力在圖表顯示上,而將重點放在數據的處理上,從而可以提高開發效率和效果。

[1]DevExpress Documentation.

[2]http://documentation.devexpress.com/#XPO/CustomDocument-1998.

[3]Christian Nagel.C#高級編程[M].清華大學書版社.2006.

[4]李福紅.DevExpres表格控件運行時動態設置表格列[J].中國高新技術企業,2010,33:117.

猜你喜歡
圖表設置
中隊崗位該如何設置
少先隊活動(2021年4期)2021-07-23 01:46:22
7招教你手動設置參數
圖表
方圓(2016年22期)2016-12-06 19:27:28
雙周圖表
足球周刊(2016年14期)2016-11-02 10:54:56
雙周圖表
足球周刊(2016年15期)2016-11-02 10:54:16
圖表
足球周刊(2016年11期)2016-10-09 11:53:25
雙周圖表
足球周刊(2016年10期)2016-10-08 18:30:55
圖表
世界博覽(2016年16期)2016-09-27 18:25:26
本刊欄目設置說明
中俄臨床醫學專業課程設置的比較與思考
主站蜘蛛池模板: a毛片在线免费观看| 99热这里只有免费国产精品| 亚洲av无码成人专区| 日韩久久精品无码aV| 亚洲美女久久| 99精品国产自在现线观看| 高清不卡一区二区三区香蕉| 91福利在线观看视频| 久久精品最新免费国产成人| 99久久精品视香蕉蕉| 91在线精品麻豆欧美在线| 久久精品娱乐亚洲领先| 日本欧美在线观看| av天堂最新版在线| 在线国产91| 精品久久香蕉国产线看观看gif| 亚洲无线观看| 激情综合图区| 农村乱人伦一区二区| 国产精品不卡片视频免费观看| 爱爱影院18禁免费| 国产亚洲精品97在线观看| 精品国产网| 日韩 欧美 小说 综合网 另类| 亚洲第一黄片大全| 思思热在线视频精品| 亚洲综合色区在线播放2019| 亚洲无线视频| 亚洲国产综合自在线另类| 久久久久亚洲精品成人网| 69国产精品视频免费| 国产福利在线观看精品| 毛片三级在线观看| 色婷婷在线影院| 国产成人亚洲欧美激情| 色婷婷在线影院| 色国产视频| 老司国产精品视频| 国产日韩精品欧美一区灰| 国产成人免费| 成年人国产视频| 国产成人综合在线视频| 久久永久精品免费视频| 久久精品亚洲中文字幕乱码| 伊人色婷婷| 六月婷婷综合| 99一级毛片| 国产在线第二页| 亚洲第一国产综合| 日韩天堂在线观看| 国产第一福利影院| 国产成人艳妇AA视频在线| 国产激情在线视频| 毛片a级毛片免费观看免下载| 91香蕉视频下载网站| 天天摸天天操免费播放小视频| 欧美日韩国产一级| 欧美亚洲综合免费精品高清在线观看| 国产主播在线一区| 国产99视频精品免费观看9e| 园内精品自拍视频在线播放| 国产AV毛片| 国产亚洲欧美日本一二三本道| 亚洲欧美日韩成人在线| 国产美女精品一区二区| 亚洲成人在线网| 国产高潮流白浆视频| 国产人成乱码视频免费观看| 97国产精品视频自在拍| 国产成人资源| 午夜小视频在线| 少妇精品在线| 国产91线观看| 特级做a爰片毛片免费69| 青青草原国产免费av观看| 欧美国产菊爆免费观看| 熟妇人妻无乱码中文字幕真矢织江| 精品无码一区二区三区电影| 国产午夜精品一区二区三| 中文无码伦av中文字幕| www成人国产在线观看网站| 四虎影视库国产精品一区|