亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術(shù)文章
文章詳情頁

JavaScript通如何過RGraph實現(xiàn)動態(tài)儀表盤

瀏覽:99日期:2023-10-11 09:16:41

目前針對于統(tǒng)計圖的制作方法有很多,可以直接利用快逸報表中的自帶統(tǒng)計圖,還可以通過自定義統(tǒng)計圖個性化定制,當(dāng)然除此之外,在新的HTML5標(biāo)準(zhǔn)中,新增了一個非常重要的元素—canvas元素。使用該元素,可以在頁面中直接進(jìn)行各種復(fù)雜圖形的制作。因此,如果使用該元素繪制統(tǒng)計圖,比之前使用服務(wù)器端控件來生成統(tǒng)計圖的方法更加具有優(yōu)越性,因為使用了該元素之后,繪制統(tǒng)計圖的工作是直接在客戶端進(jìn)行的,而不再是在服務(wù)器端所完成的了。這不僅意味著不再占用服務(wù)器端的資源,而且意味著可以直接利用客戶端計算機(jī)的強大資源,繪制統(tǒng)計圖的速度也就可以大大地得到提高了。而且,因為用來控制canvas圖形繪制的腳本代碼是可以被壓縮的(例如,當(dāng)你使用Apache服務(wù)器的時候,mod_gzip將自動幫你執(zhí)行代碼壓縮工作),可以被緩存的,所以也就可以大幅度地減少帶寬的占用了。本文就介紹了這樣一款制作統(tǒng)計圖的插件。設(shè)想一下,假如由于客戶端的訪問,服務(wù)器端每天需要創(chuàng)建100,000幅統(tǒng)計圖,這對服務(wù)器端來說,無疑是一個非常巨大的資源占用。

本文介紹一款名叫Rgraph的插件,使用RGraph統(tǒng)計圖制作插件的話,可以將這個資源占用減少到接近零的程度,因為所有創(chuàng)建統(tǒng)計圖的工作都是在客戶端完成的,就像渲染HTML網(wǎng)頁一樣,服務(wù)器端只負(fù)責(zé)發(fā)送數(shù)據(jù),不再負(fù)責(zé)統(tǒng)計圖的生成與發(fā)送了,同時帶寬的占用情況也大大得到了改善。

另外,由于統(tǒng)計圖是依靠JavaScript來生成的,所以當(dāng)你查看這個顯示統(tǒng)計圖的HTML網(wǎng)頁的時候,該網(wǎng)頁是可以為離線狀態(tài)的了。對于瀏覽器來說,目前該插件受到了Firebox 4,Google Chrome 10,Opera 11,Safari 5、IE9瀏覽器的支持。

官網(wǎng)網(wǎng)站為:http://www.rgraph.net/examples/index.html !

我今天就做關(guān)于儀表盤的實現(xiàn),三個儀表盤,不同樣式而已!效果如下:

JavaScript通如何過RGraph實現(xiàn)動態(tài)儀表盤

你可以設(shè)置頭內(nèi)容如 :java小強 這個標(biāo)題的內(nèi)容和樣式,也可以設(shè)置底部的內(nèi)容和樣式,如:[email protected]

第一次和第三個創(chuàng)建時:

var gauge1 = new RGraph.Gauge(’cvs1’, 0, 100, 84); var gauge3 = new RGraph.Gauge(’cvs3’, -100, 100, 84);

繪圖的地址,最小值,最大值和當(dāng)前值,第二個參數(shù)有點不同:

var gauge2 = new RGraph.Gauge(’cvs2’, 0, 200, [184,12]);

由于他是兩個指針,所以當(dāng)前值參數(shù)是一個數(shù)組。

那么有的人說了,那我想畫三個指針怎么辦,很簡單,傳三個參數(shù)!

我們整個頁面的源碼給大家看一下,運行后就是上面的效果:

<html><head> <title>Examples of the Gauge chart</title> <script src='http://www.aoyou183.cn/bcjs/RGraph.common.core.js' ></script> <script src='http://www.aoyou183.cn/bcjs/RGraph.common.effects.js' ></script> <script src='http://www.aoyou183.cn/bcjs/RGraph.common.dynamic.js' ></script> <script src='http://www.aoyou183.cn/bcjs/RGraph.gauge.js' ></script> <script src='http://www.aoyou183.cn/bcjs/excanvas.js'></script> <script> window.onload = function () { var gauge1 = new RGraph.Gauge(’cvs1’, 0, 100, 84); gauge1.Set(’chart.scale.decimals’, 0); gauge1.Set(’chart.tickmarks.small’, 50); gauge1.Set(’chart.tickmarks.big’,5); gauge1.Set(’chart.title.top’, ’Java小強’); gauge1.Set(’chart.title.top.size’, 24); gauge1.Set(’chart.title.bottom’, ’[email protected]’); gauge1.Set(’chart.title.bottom.color’, ’#aaa’); gauge1.Draw(); function Updategauge () {gauge1.value=RGraph.random(5,90);RGraph.Effects.Gauge.Grow(gauge1);setTimeout(Updategauge, 2000);}Updategauge(); var gauge2 = new RGraph.Gauge(’cvs2’, 0, 200, [184,12,58]); gauge2.Set(’chart.title.top’, ’Java小強’); gauge2.Set(’chart.title.bottom.size’, ’Italic 14’); // Hmmmm gauge2.Set(’chart.title.bottom.font’, ’Impact’); gauge2.Set(’chart.title.bottom.color’, ’#ccc’); gauge2.Set(’chart.title.bottom’, ’[email protected]’); gauge2.Set(’chart.title.bottom.pos’, 0.4); gauge2.Set(’chart.background.color’, ’black’); gauge2.Set(’chart.background.gradient’, true); gauge2.Set(’chart.centerpin.color’, ’#666’); gauge2.Set(’chart.needle.colors’, [RGraph.RadialGradient(gauge2, 125, 125, 0, 125, 125, 25, ’transparent’, ’white’),RGraph.RadialGradient(gauge2, 125, 125, 0, 125, 125, 25, ’transparent’, ’#d66’)]); gauge2.Set(’chart.needle.size’, [null, 50]); gauge2.Set(’chart.text.color’, ’white’); gauge2.Set(’chart.tickmarks.big.color’, ’white’); gauge2.Set(’chart.tickmarks.medium.color’, ’white’); gauge2.Set(’chart.tickmarks.small.color’, ’white’); gauge2.Set(’chart.border.outer’, ’#666’); gauge2.Set(’chart.border.inner’, ’#333’); gauge2.Set(’chart.colors.ranges’, []); gauge2.Draw(); function Updategauge2 () {gauge2.value = [RGraph.random(2,190), RGraph.random(5,195), RGraph.random(5,195)]RGraph.Effects.Gauge.Grow(gauge2);setTimeout(Updategauge2, 2000);}Updategauge2(); var gauge3 = new RGraph.Gauge(’cvs3’, -100, 100, 84); gauge3.Set(’chart.scale.decimals’, 0); gauge3.Set(’chart.tickmarks.small’, 50); gauge3.Set(’chart.tickmarks.big’,5); gauge3.Set(’chart.title.top’, ’Java小強’); gauge3.Set(’chart.title.top.size’, 24); gauge3.Set(’chart.title.bottom’, ’[email protected]’); gauge3.Set(’chart.title.bottom.color’, ’#aaa’); gauge3.Set(’chart.colors.ranges’, [[-100, -90, ’red’], [-90, -80, ’yellow’], [80, 90, ’yellow’], [90, 100, ’red’]]); gauge3.Set(’chart.adjustable’, true); gauge3.Draw();function Updategauge3 () {gauge3.value = RGraph.random(2,99);RGraph.Effects.Gauge.Grow(gauge3);setTimeout(Updategauge3, 2000);}Updategauge3(); } </script></head><body> <div style='text-align: center'> <canvas height='250'>[No canvas support]</canvas> <canvas height='250'>[No canvas support]</canvas> <canvas height='250'>[No canvas support]</canvas> </div></body></html>

你最好用Firebox 看,使用IE也能看到效果,但是一旦進(jìn)行動態(tài)更新指針的時候,就會把瀏覽器給搞死!

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 精品无人区一区二区三区a 精品无码一区在线观看 | 国产精品久久久久久久久久久不卡 | 国产日韩欧美亚洲综合首页 | 欧美黑人白人bbw | 久久国产精品免费一区二区三区 | 国产三级日本三级在线播放 | 免费一级性片 | 日韩免费高清视频 | 在线观看91精品国产入口 | 播放毛片 | 成人黄色免费看 | 国产主播久久 | 妞干网免费观看视频 | 欧美播播 | 亚洲人欧洲日韩 | 青青草国产97免久久费观看 | 国产精品久久久久久久久久直 | 午夜啪啪免费视频 | 国产vr一区二区在线观看 | 九九热视频在线播放 | 亚洲欧美一区二区三区二厂 | 六度国产福利午夜视频黄瓜视频 | 国产精品国产三级国产a | 国产视频91在线 | 最新亚洲手机在线人成网站 | 国产免费一级片 | 国产在线视频在线观看 | 久久婷婷国产综合精品青草 | 国产美女极品福利视频 | 能免费看黄的网站 | 看真人一级毛多毛片 | 色xxxxx| 播放一级黄色片 | 成人观看的视频三级 | 国产精品入口麻豆高清在线 | 成人在线观看免费爱爱 | 91福利国产在线观看香蕉 | 国产精品小视频在线观看 | 欧美激情一区二区三区不卡 | 日本一级特黄高清ab片 | 国精视频一区二区视频 |