现在官网有部分的温度计图,但是很多都是一个温度计,最近工作过程中遇到了一个需要有很多温度计的柱状图,并且还要根据不同字段的值来改变每个温度计的颜色,稍微研究了一下,这里面的实现方式在这里给大家简单讲解一下吧。
我也很烦那些写了半天的话,代码还是零零散散的,那我就话不多说直接上整体代码吧(里面有讲解,肯定还有可以优化的地方,望大家多多指导)
效果图
![温度计图](https://i-blog.csdnimg.cn/blog_migrate/e75f2eac14a76cb7282133df067b3d49.png)
var echartOption = {
thermometer: function (data, tagId, color) {
let barSerise = []
var emptyArrIn = []
var emptyArrWhite = []
var emptyArrOut = []
var maxData = Number(data.dataBar[0])
var maxArrOut = []
var maxArrIn = []
data.dataBar.forEach((item) => {
if (Number(maxData) < item) {
maxData = item
}
})
data.dataBar.forEach(() => {
maxArrIn.push(maxData * 1.194)
})
if (data.dataIsWarning) {
data.dataIsWarning.forEach((item, index) => {
emptyArrWhite.push({
value: 0,
itemStyle: {
normal: {
color: '#fff',
},
}
})
if (item == '1') {
barSerise.push({
name: data.dataName1,
value: data.dataBar[index],
itemStyle: {
normal: {
color: color[0