echarts的仪表盘

需要写3个仪表盘,这里写了一个函数:

绿色的背景是div的背景

warnFunc = ( id, dataValue) => {
// 基于准备好的dom,初始化echarts实例
let wranIndex1 = document. getElementById( ` ${ id } `);
// 设置canvas的高度
let canvasHeight = function () {
wranIndex1. style. height = 100 + 'px';
console. log( wranIndex1. style. height, '能获取高度吗')
}
canvasHeight();
//先设置以上,高度才能生效,位置不要变
var myChart = echarts. init( wranIndex1);
var spirit = ''

// 绘制图表
myChart. setOption({
backgroundColor: 'transparent',
toolbox: {
show : true,
},
series : [
{
name: '货量预警',
type: 'gauge',
min: 0,
max: 100, //设置仪表盘最大值
splitNumber: 4, //设置仪表盘间隔个数
radius: '100%',
axisLine: { // 坐标轴线
lineStyle: { // 属性lineStyle控制线条样式
color: [[ 0.2, 'lime'],[ 0.82, '#1e90ff'],[ 1, '#ff4500']],
width: 3,
shadowColor : '#fff', //默认透明
shadowBlur: 10
}
},
axisLabel: { // 坐标轴小标记
textStyle: { // 属性lineStyle控制线条样式
fontWeight: 'bolder',
color: '#fff',
shadowColor : '#fff', //默认透明
shadowBlur: 10
}
},
axisTick: { // 坐标轴小标记
length : 8, // 属性length控制线长
lineStyle: { // 属性lineStyle控制线条样式
color: 'auto',
shadowColor : '#fff', //默认透明
shadowBlur: 10
}
},
splitLine: { // 分隔线
length : 10, // 属性length控制线长
lineStyle: { // 属性lineStyle(详见lineStyle)控制线条样式
width: 3,
color: '#fff',
shadowColor : '#fff', //默认透明
shadowBlur: 10
}
},
axisLabel: {
color: 'auto', //仪表盘的数字颜色,设置为auto表示跟着盘对应的颜色走
textShadowBlur: 2,
fontSize: 8, //设置仪表盘数字的大小
padding: - 3, //设置仪表盘数字与刻度线的距离
},
pointer: { // 分隔线
shadowColor : '#fff', //默认透明
shadowBlur: 5
},
pointer: {
width: 2, //设置仪表盘的指针 pointer要分开写属性不然会报错
},
detail: {
fontSize: 15, //设置data内容的字体大小
offsetCenter: [ 0, '20%'], //设置data内容的位置
},
data:[{ value: ` ${ dataValue } `}]
},
]
})

//用于使chart自适应高度和宽度
window. onresize = function () {
myChart. resize();
canvasHeight(); //重新获取高度
};
}



以上是写仪表盘的函数,因为需要写3个就封装函数,传入的参数有,id和百分比

调用函数:

        self. warnFunc( "wranIndex1", 50) //预警
self. warnFunc( "wranIndex2", 20) //预警
self. warnFunc( "wranIndex3", 70) //预警

猜你喜欢

转载自blog.csdn.net/qq_32007439/article/details/80923398