久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

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

JS繪圖Flot如何實(shí)現(xiàn)動態(tài)可刷新曲線圖

瀏覽:176日期:2024-04-15 17:05:18

剛剛做的是一個靜態(tài)的曲線圖,只要設(shè)置數(shù)據(jù),就可以直接顯示。下面來做一個根據(jù)時間間隔根據(jù)新數(shù)據(jù)一直變的曲線繪圖示例。

同樣,為了兼容不同瀏覽器,請一定要引入三個JS文件,否則不保證在IE下的運(yùn)行。

首先來看一下效果!

JS繪圖Flot如何實(shí)現(xiàn)動態(tài)可刷新曲線圖

刷新間隔的實(shí)現(xiàn)其實(shí)就是定時調(diào)用某個函數(shù),這個函數(shù)將繪圖對象里面的數(shù)據(jù)更新即可。

我們來看一下代碼:

<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'> <html xmlns='http://www.w3.org/1999/xhtml'> <head> <meta http-equiv='Content-Type' content='text/html; charset=gb2312' /> <title>Flot動態(tài)曲線</title> <!--[if lte IE 8]><script language='javascript' type='text/javascript' src='http://www.baoyu77737.com/bcjs/excanvas.min.js'></script><![endif]--> <script language='javascript' type='text/javascript' src='http://www.baoyu77737.com/bcjs/jquery.js'></script> <script language='javascript' type='text/javascript' src='http://www.baoyu77737.com/bcjs/jquery.flot.js'></script> <script type='text/javascript'> $(function () { // 要繪制的數(shù)據(jù)和數(shù)據(jù)的數(shù)據(jù)點(diǎn)數(shù) var data = [], totalPoints = 300; // 獲得一些隨機(jī)數(shù)據(jù) function getRandomData() { if (data.length > 0) datadata = data.slice(1); while (data.length < totalPoints) { var prev = data.length > 0 ? data[data.length - 1] : 50; var y = prev + Math.random() * 10 - 5; if (y < 0) y = 0; if (y > 100) y = 100; data.push(y); } var res = []; for (var i = 0; i < data.length; ++i) res.push([i, data[i]]) return res; } var updateInterval = 30; // 刷新間隔 // 更改刷新間隔時間 $('#updateInterval').val(updateInterval).change(function () { var v = $(this).val(); if (v && !isNaN(+v)) { updateInterval = +v; if (updateInterval < 1) updateInterval = 1; if (updateInterval > 2000) updateInterval = 2000; $(this).val('' + updateInterval); } }); // 設(shè)置繪圖參數(shù) var options = { series: { shadowSize: 0 }, // 繪制線的陰影,不繪制設(shè)置 0 yaxis: { min: 0, max: 100 }, // Y 軸的最大值最小值 xaxis: { show: false } // 不顯示 X 軸 }; // 繪圖對象 參數(shù)為:繪制地點(diǎn)、數(shù)據(jù)、屬性 var plot = $.plot($('#placeholder'), [ getRandomData() ], options); function update() { // 要實(shí)現(xiàn)動態(tài)繪圖,只需重新設(shè)置其數(shù)據(jù)即可 plot.setData([ getRandomData() ]); // 設(shè)置數(shù)據(jù) // 軸線不改變,不用調(diào)用 plot.setupGrid() plot.draw(); // 設(shè)置調(diào)用 setTimeout(update, updateInterval); } // 加載調(diào)用 update(); }); </script> </head> <body> <div style='width:600px;height:300px;'></div> <br><br> 刷新時間間隔:<input type='text' value='' style='text-align: right; width:5em'> </body> </html>

輸入不同的刷新間隔,繪圖的速度會響應(yīng)的調(diào)整。以上示例來自官方,少做修改并加以注釋,希望對一些人有所幫助。

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

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 宁津县| 新郑市| 北京市| 盐亭县| 长武县| 工布江达县| 鄂托克前旗| 肇东市| 临江市| 东乡族自治县| 南丹县| 双峰县| 建昌县| 资兴市| 朝阳县| 舒城县| 元阳县| 阜城县| 杭锦后旗| 醴陵市| 麻江县| 延安市| 九龙城区| 藁城市| 大名县| 陇南市| 区。| 军事| 榆林市| 双柏县| 昌宁县| 宜春市| 富锦市| 辽中县| 昌吉市| 开化县| 云林县| 恩平市| 南开区| 台州市| 远安县|