摘要:開始讓動起來我會直接貼部分代碼加少量解釋,建議先看下官方給的動態(tài)實時刷新示意圖循環(huán)次,線從圖表右側(cè)開始出現(xiàn),軸會分為秒。
效果展示
社會你龍哥,人丑話不多,先來張圖!圖片傳不上去!!!可能公司限制了,大家自己幻想下吧
highcharts環(huán)境搭配由于技術(shù)現(xiàn)水平限制,需要用到兩個Highcharts,下面我會解釋,先上代碼
npm install --save highcharts npm install --save vue-highcharts
下載好后,在main.js頁面引入Vue-hightcharts;
import VueHighcharts from "vue-highcharts"; Vue.use(VueHighcharts)
接著在我們需要圖表的頁面加入以下代碼
var Highcharts = require("highcharts");
這里我將highcharts實例化,我需要用到highchats自帶的將時間格式化的方法。
Highcharts.setOptions({ global: { useUTC: false } });
tooltip: { enabled: true, formatter: function() { if(this.y <= 1) { return "" + this.series.name + "開始讓Highcharts動起來
" + Highcharts.dateFormat("%Y-%m-%d %H:%M:%S", this.x) + "
" + (this.y * 100).toFixed(2) + "%" } else { return "" + this.series.name + "
" + Highcharts.dateFormat("%Y-%m-%d %H:%M:%S", this.x) + "
" + this.y } } }
我會直接貼部分代碼加少量解釋,建議先看下官方給的動態(tài)實時刷新示意圖https://www.hcharts.cn/demo/h...
循環(huán)240次,線從圖表右側(cè)開始出現(xiàn),X軸會分為240秒。
series: [{ type: "line", name: "line1", data: (function() { let data = [], time = Date.parse(new Date()), i; for(i = -239; i <= 0; i += 1) { data.push({ x: time + i * 1000, y: 0 }); } return data; }()), color: "#f8672c", lineWidth: 1 }]
我們用的socketcluster進(jìn)行數(shù)據(jù)的廣播
var SocketCluster = require("socketcluster-client")
var socket = SocketCluster.connect({ port: 80, hostname: "xxx.xxx.xxx.xxx", path: "/xxx/xxx", secure: false });
這里會在代碼注釋里詳細(xì)說明
events: {
load: function() { // set up the updating of the chart each second var series1 = this.series[0]; var machId = _self.$route.params.id; //獲取路由傳過來的id var sub1 = socket.subscribe(`${machId}-counter-overview`); //sub1開始訂閱數(shù)據(jù) sub1.watch(function(data1) { if(data1) { _self.cpudata = data1["system-cpu"]; _self.ramdata = data1["system-ram"]; } }); _self.timer.timer1=setInterval(function() { //這里用時間驅(qū)動,將數(shù)據(jù)添加到圖表中,cpudata沒有數(shù)據(jù)的話 //會一直保持水平運(yùn)動。 _self.x = (new Date()).getTime(); series1.addPoint([_self.x, _self.cpudata], true, true, true); }, 1000) } } }
最后離開路由記得銷毀我們的定時器
beforeDestroy:function(){ clearInterval(this.timer.timer1); }
恩,就這么多~寫的不好,不明白的大家一起探討.
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/84434.html
摘要:與定時器的恩恩怨怨。這時候我這樣做的首先要把定時器填進(jìn)數(shù)據(jù)中控制住定時器的聲明周期,否則它會煩死你在項目中的運(yùn)用。 本次寫的項目是關(guān)于機(jī)器終端管理的,一開始使用的是最基本的bootstrap+jq+html以及一些小插件,后來由于項目有很多重復(fù)度很高的地方,而且老大要求擴(kuò)展度要高,比如頭部,左邊欄,所以決定和另一名前端小伙伴使用框架進(jìn)行項目重構(gòu)(小項目啦),最終選擇了Vue+webpa...
以下為個人目前接觸到的前端技術(shù),歡迎大家補(bǔ)充。 一、前端技術(shù)框架 1、Vue.js 官網(wǎng):https://cn.vuejs.org/ Vue CLI:https://cli.vuejs.org/ 菜鳥教程:http://www.runoob.com/w3cnote... Nuxt.js:https://zh.nuxtjs.org/ 桌面應(yīng)用Electron:https:...
摘要:渲染能力采用渲染除了對使用,一般來說,更適合繪制圖形元素數(shù)量非常大這一般是由數(shù)據(jù)量大導(dǎo)致的圖表如熱力圖地理坐標(biāo)系或平行坐標(biāo)系上的大規(guī)模線圖或散點圖等,也利于實現(xiàn)某些視覺特效如交通圖。 一.簡介 echartsecharts是百度公司前端開發(fā)的一個圖表庫,2013年發(fā)布第一版,主要采用canvas畫圖,目前版本3.8.4;完全免費(fèi); highcharthighcharts是國外的一家公司...
摘要:水平值,以像素計,在畫布上放置圖像的位置。規(guī)定要使用的圖像畫布或視頻。要使用的圖像的高度。實現(xiàn)縮放頻譜圖已經(jīng)做好縮放操作,并把起始點和結(jié)束點傳遞給父組件,再有父組件傳遞給瀑布圖組件,動態(tài)修改的剪切屬性。 作者:codexu _ 廢話不多說,先上成品圖: showImg(https://segmentfault.com/img/remote/1460000020161522); 再來個迷...
閱讀 843·2021-11-24 10:44
閱讀 2778·2021-11-11 16:54
閱讀 3159·2021-10-08 10:21
閱讀 2066·2021-08-25 09:39
閱讀 2899·2019-08-30 15:56
閱讀 3459·2019-08-30 13:46
閱讀 3493·2019-08-23 18:09
閱讀 2066·2019-08-23 17:05