日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

echarts实时温度计湿度计

發布時間:2024/3/24 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 echarts实时温度计湿度计 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

如何用echarts開發溫度計?
在項目開發中需要用到echarts來開發圖表時,一般我都是結合官網示例和百度一些echarts圖表樣式來開發。在開發過程中,需要顯示溫度,數字太單調了,結合圖表來顯示就讓頁面更既美觀又直觀。
下面給大家分享一個溫度計圖表,可以根據自己的UI圖去調整樣式。

<!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>溫度計</title><script src="js/jquery-1.11.1.min.js"></script><script src="js/echarts.min.js"></script> </head><body style="height: 250px; margin: 0;width: 500px;"><div id="container" style="height: 100%"></div><script type="text/javascript">var dom = document.getElementById('container');var myChart = echarts.init(dom, null, {renderer: 'canvas',useDirtyRect: false});var params = {value: 52,//數值title: "溫度計"}var app = {};var TP_value = params.value;var kd = [];var Gradient = [];var leftColor = '';var showValue = '';var boxPosition = [65, 0];var TP_txt = ''// 刻度使用柱狀圖模擬,短設置1,長的設置3;構造一個數據for (var i = 0, len = 135; i <= len; i++) {if (i < 10 || i > 130) {kd.push('')} else {if ((i - 10) % 20 === 0) {kd.push('-3');} else if ((i - 10) % 4 === 0) {kd.push('-1');} else {kd.push('');}}}//中間線的漸變色和文本內容if (TP_value > 50) {TP_txt = '';Gradient.push({offset: 0,color: '#93FE94'}, {offset: 0.5,color: '#E4D225'}, {offset: 1,color: '#E01F28'})} else if (TP_value >= 35) {TP_txt = '';Gradient.push({offset: 0,color: '#93FE94'}, {offset: 1,color: '#E4D225'})} else {TP_txt = '';Gradient.push({offset: 1,color: '#93FE94'})}leftColor = Gradient[Gradient.length - 1].color;// 因為柱狀初始化為0,溫度存在負值,所以加上負值60和空出距離10var option = {// backgroundColor: '#098',// backgroundColor: 'white',title: {text: params.title,textStyle: {color: "#010081",align: "center",},left: "45%",},grid: { // 控制圖的大小,調整下面這些值就可以,left: "30%",top: "3%",bottom: "14%",},yAxis: [{show: false,data: [],min: 0,max: 135,axisLine: {show: false}}, {show: false,min: 0,max: 50,}, {type: 'category',data: ['', '', '', '', '', '', '', '', '', ''],position: 'left',offset: -80,axisLabel: { // 單位fontSize: 10,color: 'black'},axisLine: {show: false},axisTick: {show: false},}],xAxis: [{show: false,min: -10,max: 80,data: []}, {show: false,min: -10,max: 80,data: []}, {show: false,min: -10,max: 80,data: []}, {show: false,min: -5,max: 80,}],series: [{name: '條',type: 'bar',// 對應上面XAxis的第一個對)象配置xAxisIndex: 0,data: [{value: (TP_value + 30),//這個改那個顏色刻度的label: {normal: {show: true,position: boxPosition,width: 20,height: 100,formatter: '{back| ' + TP_value + ' }{unit|°C}\n{downTxt|' + TP_txt + '}',rich: {back: {align: 'center',lineHeight: 50,fontSize: 30,fontFamily: 'digifacewide',color: leftColor},unit: {fontFamily: '微軟雅黑',fontSize: 15,lineHeight: 50,color: leftColor},downTxt: {lineHeight: 50,fontSize: 25,align: 'center',color: leftColor}}}},}],barWidth: 18,itemStyle: {normal: {color: new echarts.graphic.LinearGradient(0, 1, 0, 0, Gradient)}},z: 2}, {name: '白框',type: 'bar',xAxisIndex: 1,barGap: '-100%',data: [134],barWidth: 18,itemStyle: {normal: {color: '#0C2E6D',barBorderRadius: 50,}},z: 1}, {name: '外框',type: 'bar',xAxisIndex: 2,barGap: '-100%',data: [135],barWidth: 28,itemStyle: {normal: {color: '#4577BA',barBorderRadius: 50,}},z: 0}, {name: '圓',type: 'scatter',hoverAnimation: false,data: [0],xAxisIndex: 0,symbolSize: 38,itemStyle: {normal: {color: '#93FE94',opacity: 1,}},z: 2}, {name: '白圓',type: 'scatter',hoverAnimation: false,data: [0],xAxisIndex: 1,symbolSize: 50,itemStyle: {normal: {color: '#0C2E6D',opacity: 1,}},z: 1}, {name: '外圓',type: 'scatter',hoverAnimation: false,data: [0],xAxisIndex: 2,symbolSize: 60,itemStyle: {normal: {color: '#4577BA',opacity: 1,}},z: 0}, {name: '刻度',type: 'bar',yAxisIndex: 0,xAxisIndex: 3,label: {normal: {show: true,position: 'left',distance: 15, // 刻度數據位置color: '#000000',// 刻度數字顏色fontSize: 14,formatter: function (params) {if (params.dataIndex > 130 || params.dataIndex < 10) {return '';} else {if ((params.dataIndex - 10) % 20 === 0) {return params.dataIndex - 30;//這個改刻度的,當減70的時候刻度是從-60開始不是從零開始} else {return '';}}}}},barGap: '-100%',data: kd,barWidth: 1,itemStyle: {normal: {color: '#000000', // 刻度線顏色barBorderRadius: 120,}},z: 0}]};if (option && typeof option === 'object') {myChart.setOption(option);};// 定時生成隨機數,實時刷新數據setInterval(function () {//debuggervar rdm = Math.floor(Math.random() * 100);var params = {value: rdm,//數值title: "溫度計"}var Gradient = [];//中間線的漸變色和文本內容var warnTxt = "";if (params.value > 50) {Gradient.push({offset: 0,color: "#93FE94",},{offset: 0.5,color: "#E4D225",},{offset: 1,color: "#E01F28",});warnTxt = "溫度過高";} else if (params.value >= 35) {Gradient.push({offset: 0,color: "#93FE94",},{offset: 1,color: "#E4D225",});warnTxt = "溫度正常";} else {Gradient.push({offset: 1,color: "#93FE94",});warnTxt = "溫度過低";}let leftColor = Gradient[Gradient.length - 1].color;var boxPosition = [65, 0];myChart.setOption({series: [{data: [{value: params.value + 30,label: {normal: {show: true,position: boxPosition,width: 20,height: 100,formatter:"{back| " +params.value +" }{unit|°C}\n{downTxt|" +" " +"}",//formatter: item.senValue ,rich: {back: {align: "center",lineHeight: 50,fontSize: 30,fontFamily: "digifacewide",color: leftColor,},unit: {fontFamily: "微軟雅黑",fontSize: 15,lineHeight: 50,color: leftColor,},downTxt: {lineHeight: 50,fontSize: 25,align: "center",color: leftColor,},},},},name: params.title,},],},],});}, 1000);</script> </body></html>```html

總結

以上是生活随笔為你收集整理的echarts实时温度计湿度计的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。