亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        實時監(jiān)控系統(tǒng)中動態(tài)折線圖的實現(xiàn)

        2015-03-09 06:46:32張玉葉
        山東開放大學(xué)學(xué)報 2015年2期
        關(guān)鍵詞:折線圖圖表粉塵

        張玉葉,宿 超

        (1.濟南職業(yè)學(xué)院計算機系,山東 濟南 250014;2.山東廣播電視大學(xué),山東 濟南 250014)

        實時監(jiān)控系統(tǒng)中動態(tài)折線圖的實現(xiàn)

        張玉葉1,宿 超2

        (1.濟南職業(yè)學(xué)院計算機系,山東 濟南 250014;2.山東廣播電視大學(xué),山東 濟南 250014)

        以一個智能噴霧實時監(jiān)控系統(tǒng)中粉塵濃度動態(tài)折線圖的實現(xiàn)為例,講解了如何利用Jpgraph在PHP中畫圖。給出了具體的實現(xiàn)過程和完整代碼及程序調(diào)試技巧。

        Jpgraph;PHP;WEB;圖表

        一、引言

        在一些工業(yè)設(shè)備實時監(jiān)控系統(tǒng)中經(jīng)常需要監(jiān)測設(shè)備的運行情況,為了顯示直觀清楚,通常需要用圖形化的方式將其顯示出來。在開發(fā)智能噴霧實時監(jiān)控系統(tǒng)時需要實時監(jiān)控井下的粉塵、溫度、瓦斯等情況,為了讓井上管理人員及時了解粉塵、溫度、瓦斯等變化情況,監(jiān)控界面中以圖形化的方式將這些數(shù)據(jù)顯示出來。本文以粉塵濃度動態(tài)折線圖的實現(xiàn)為例,詳細(xì)講解了如何利用Jpgraph在PHP中做圖的方法,并給出了具體的實現(xiàn)代碼。

        二、環(huán)境配置

        本系統(tǒng)采用WAMP開發(fā)平臺,即windows操作系統(tǒng)、apache服務(wù)器、MySql數(shù)據(jù)庫和PHP編程語言。要在php中使用Jpgraph,須將Jpgraph的類包導(dǎo)入到程序中。相應(yīng)的配置方法[1,2]:

        1.將下載的Jpgraph壓縮包解壓到某一文件夾中,如c:jpgraph。

        2.編輯php.ini文件。

        (1)找到php.ini文件里的“;extension=php_gd2.dll”,將其前面的;(分號)去掉,使其支持GD庫。

        (2)修改include_path配置項,在該項后面增加Jpgraph類庫的保存目錄,例如:“,;c:jpgraph”。

        三、圖表的建立

        在PHP中利用Jpgraph生成圖表,通常需要三個步驟:

        1.建立數(shù)據(jù)集。

        2.利用Jpgraph提供的相應(yīng)類作圖。

        3.獲取圖片,在相應(yīng)的PHP頁面中顯示。

        四、粉塵濃度動態(tài)折線圖的實現(xiàn)

        具體的實時監(jiān)控系統(tǒng)通常由下位機采集數(shù)據(jù),然后傳遞給上位機顯示。需要保存的歷史數(shù)據(jù)通常放在上位機的數(shù)據(jù)庫中。本文主要講解上位機中如何將下位機采集并放到數(shù)據(jù)庫中的數(shù)據(jù)以圖形化方式顯示出來,至于下位機如何采集數(shù)據(jù)并送往數(shù)據(jù)庫不在本文的討論范圍內(nèi)。設(shè)下位機已經(jīng)將采集到的數(shù)據(jù)送往數(shù)據(jù)庫中相應(yīng)的表中存放。在測試時可通過往表中人工插入數(shù)據(jù)來模擬下位機不停地將采集到的數(shù)據(jù)送往表中。下面以粉塵濃度動態(tài)折線圖的實現(xiàn)為例說明如何利用Jpgraph在PHP中做圖。設(shè)在某一時刻粉塵濃度表中的數(shù)據(jù)如表1所示。

        表1 粉塵濃度表

        1.具體實現(xiàn)過程

        (1)連接數(shù)據(jù)庫

        粉塵濃度動態(tài)折線圖中的數(shù)據(jù)來自于數(shù)據(jù)庫中的粉塵濃度表,首先要建立與數(shù)據(jù)庫的連接,因監(jiān)控系統(tǒng)中需要用到數(shù)據(jù)庫中的多個不同的表,為了便于代碼的重用,可將與數(shù)據(jù)庫的連接寫成一個單獨的文件中(在此放在conn.php文件中),用到時將其直接引入進來即可。

        與數(shù)據(jù)庫連接的代碼如下:

        @mysql_connect("localhost","root","123456") or die("mysql 連接失敗");

        @mysql_select_db("meikuang") or die("數(shù)據(jù)庫連接失敗");

        mysql_set_charset("gb2312");

        ?>

        (2)創(chuàng)建數(shù)據(jù)集并做圖

        創(chuàng)建一個createimg.php文件,用于從數(shù)據(jù)庫的粉塵濃度表中查詢所有的數(shù)據(jù)并將其用折線圖顯示出來。

        require_once 'src/jpgraph.php';//導(dǎo)入Jpgraph類庫

        require_once 'src/jpgraph_line.php';//導(dǎo)入Jpgraph類庫的柱狀圖功能

        include('conn.php');//導(dǎo)入數(shù)據(jù)庫連接文件

        $strsql="select nongdu from dust ";//查詢粉塵濃度表中的濃度值

        $result=mysql_query($strsql);//執(zhí)行查詢

        $data=array();

        while($rs=mysql_fetch_array($result)){

        array_push($data,$rs['nongdu']);

        }//創(chuàng)建數(shù)據(jù)庫集,將從表中查詢到的濃度值添加到數(shù)據(jù)集中

        $graph=new Graph(800,400);//設(shè)置畫布大小

        $graph->SetScale('textlin');//設(shè)置刻度樣式

        $graph->SetShadow();//設(shè)置背景帶陰影

        $graph->img->SetMargin(40,30,40,40);//設(shè)置圖表邊距

        $lineplot=new LinePlot ($data);//建立LinePlot對象

        $graph->add($lineplot);// 添加LinePlot對象

        $graph->title->Set("實時粉塵濃度曲線圖");//設(shè)置標(biāo)題

        $graph->xaxis->title->Set("時間");//設(shè)置X軸坐標(biāo)名稱

        $graph->yaxis->title->Set("濃度(mg/m3)");//設(shè)置Y軸坐標(biāo)名稱

        $graph->title->SetFont(FF_SIMSUN,FS_BOLD); //設(shè)置標(biāo)題字體

        $graph->xaxis->title->SetFont(FF_SIMSUN,FS_BOLD); //設(shè)置X軸字體

        $graph->yaxis->title->SetFont(FF_SIMSUN,FS_BOLD); //設(shè)置Y軸字體

        $lineplot->SetColor("red");//設(shè)置線條顏色

        $graph->Stroke();//生成圖像

        ?>

        (3)獲取圖片并顯示

        創(chuàng)建一個index.php頁面,用于顯示粉塵濃度折線圖。在index.php頁面中用一個img圖像來顯示生成的折線圖,對應(yīng)的代碼為:。

        (4)粉塵濃度折線圖的動態(tài)更新

        通過前面3步已經(jīng)能夠生成粉塵濃度折線圖,但還無法實現(xiàn)動態(tài)更新,也即當(dāng)下位機采集到新的數(shù)據(jù)后并不能自動反映到折線圖中,必須通過點擊“刷新”按鈕才能實現(xiàn)折線圖的更新,給用戶的使用帶來極大的不便,對此加以改進,讓其能自動更新。自動更新的原理實際上就是對折線圖中的數(shù)據(jù)進行動態(tài)更新和加載,為了演示清楚和便于對照起見,在index.php頁面中再添加一動態(tài)顯示當(dāng)前粉塵濃度值的div,相對應(yīng)的代碼:。

        建立一個update.js文件(在index.php頁面中將此文件包含進來),里面包含兩個函數(shù),一個progress()函數(shù)和一個control()函數(shù),用于實現(xiàn)折線圖的動態(tài)更新及當(dāng)前粉塵濃度值的即時顯示。代碼如下(本代碼采用了jQuery框架[3]):

        function control(){

        var t=new Date();

        progress(t);

        $.get("resp.php?flag="+t,function(data){

        $("#nongdu").html("當(dāng)前粉塵濃度"+data);//利用jQuery框架的AJAX技術(shù)獲取當(dāng)前粉塵濃度值

        });

        setTimeout('control()',2000);//此處的間隔時間可根據(jù)下位機采集數(shù)據(jù)的頻率設(shè)置,在此為演示將其設(shè)為2000

        }

        function progress(flag){

        $("#img").attr("src","createimg.php?flag="+flag);//為圖像設(shè)置src屬性

        }

        最后在index.php頁面中再添加調(diào)用control()函數(shù)的語句,使得折線圖能夠動態(tài)更新,相應(yīng)的代碼。

        2.測試

        啟動Apache服務(wù)器,打開瀏覽器瀏覽index.php文件,此時運行結(jié)果如圖1所示。為測試折線圖能否自動更新,再啟動phpMyadmin,手工往粉塵濃度表里面添加一個粉塵濃度值(如34),切換到粉塵濃度曲線圖頁面中,發(fā)現(xiàn)折線圖及粉塵濃度值已經(jīng)自動發(fā)生了改變,運行結(jié)果如圖2所示。通過測試結(jié)果可以看出,在沒有點擊“刷新”按鈕的情況下系統(tǒng)自動實現(xiàn)了粉塵濃度折線圖的實時更新,也就達到了實時監(jiān)控系統(tǒng)的要求。

        圖1 運行結(jié)果1

        圖2 運行結(jié)果2

        五、結(jié)束語

        在一些工業(yè)設(shè)備的實時監(jiān)控系統(tǒng)中為了顯示的直觀、清晰,經(jīng)常需要使用各種圖表。本文介紹的粉塵濃度動態(tài)折線圖的實現(xiàn)方法簡單方便,根據(jù)此思路,用戶可利用Jpgraph提供的強大的圖表功能在PHP中制作各種不同的動態(tài)圖表。

        [1]宗小忠.基于LAMP的網(wǎng)站流量分析系統(tǒng)圖表功能的設(shè)計與實現(xiàn)[J].沙州職業(yè)工學(xué)院學(xué)報,2010,(02).

        [2]馬春興等.輕松學(xué)PHP編程[M].北京:化學(xué)工業(yè)出版社,2012.

        [3]曾順.精通JavaScript+jQuery[M].北京:人民郵電出版社,2008.

        2014-10-09

        本研究成果得到山東省高等學(xué)校青年骨干教師國內(nèi)訪問學(xué)者項目經(jīng)費資助(魯教人字[2013]8號)。

        張玉葉(1973-),女,濟南職業(yè)學(xué)院講師,碩士,研究方向:程序設(shè)計、算法、嵌入式系統(tǒng)。 宿超,男,山東廣播電視大學(xué)高級工程師。

        TP311.1

        A

        1008—3340(2015)02—0056—03

        猜你喜歡
        折線圖圖表粉塵
        高壓粉塵防爆電機過厚粉塵層的形成與分析
        防爆電機(2021年6期)2022-01-17 02:40:28
        Optimization Design of Miniature Air Quality Monitoring System Based on Multi-Sensor Fusion Technology
        粉塵大戰(zhàn)
        讓折線圖顯示在一個單元格中
        光散射法粉塵儀在超低排放的應(yīng)用
        再多也不亂 制作按需顯示的折線圖
        電腦愛好者(2018年2期)2018-01-31 19:07:26
        美化Excel折線圖表
        電腦愛好者(2017年1期)2017-04-14 10:16:22
        雙周圖表
        足球周刊(2016年14期)2016-11-02 10:54:56
        雙周圖表
        足球周刊(2016年15期)2016-11-02 10:54:16
        雙周圖表
        足球周刊(2016年10期)2016-10-08 18:30:55
        超碰色偷偷男人的天堂| 美女叉开双腿让男人插| 黄页免费人成网址大全| 一区二区三区中文字幕p站| 精品人妻中文无码av在线| 456亚洲人成影视在线观看| 亚洲福利第一页在线观看| 熟女一区二区中文字幕| 人妻体内射精一区二区三四| 中文字幕无码无码专区| 国产经典免费视频在线观看| 手机在线观看av资源| 国产精品成人va在线观看| 青青视频一区| 加勒比亚洲视频在线播放| 中国人在线观看免费的视频播放 | 在线视频观看免费视频18| 提供最新的在線欧美综合一区| 在线播放中文字幕一区二区三区| 亚洲毛片在线观看免费| 小鲜肉自慰网站| 中文字幕久久久久人妻无码| 亚洲视频观看一区二区| 亚洲成a∨人片在线观看无码| 欧美成人一区二区三区| 国产品精品久久久久中文| 国产激情一区二区三区不卡av| 久久不见久久见免费影院国语| 99国产精品99久久久久久| 精品一区二区三区不老少妇| 国产精品18久久久白浆| 性一交一乱一伦一色一情孩交| 国产一区二区三区4区| 亚洲精品一区二区三区在线观| 日本真人做爰免费视频120秒| 男女真实有遮挡xx00动态图| 日本一区二区高清视频在线播放| 我和丰满妇女激情视频| 免费xxx在线观看| 99久久国语露脸国产精品| 女同性恋一区二区三区av|