echarts 半圆环,即仪表盘效果

思路有两个,一个是echart提供的仪表盘图形api,一个是用圆环图来画一个

<!DOCTYPE html >
< html >

< head >
< meta charset= "UTF-8" >
< title >ECharts练习 </ title >


<!-- <script src="https://cdn.bootcss.com/echarts/3.6.2/echarts.min.js"></script> -->

< script src= "https://cdn.bootcss.com/echarts/4.1.0/echarts.min.js" > < / script >
</ head >

< body >
<!-- 为ECharts准备一个具备大小(宽高)的Dom -->
< div id= "main" style= "width: 600px;height:400px;" ></ div >
< div id= "main2" style= "width: 600px;height:400px;" ></ div >
< script type= "text/javascript" >
// 基于准备好的dom,初始化echarts实例
var myChart = echarts. init( document. getElementById( 'main'));
var myChart2 = echarts. init( document. getElementById( 'main2'));

// 指定图表的配置项和数据
var option = {
toolbox: { //可视化的工具箱
show: false,
feature: {
restore: { //重置
show: true
},
saveAsImage: { //保存图片
show: true
}
}
},
series: [{
name: '业务指标',
type: 'gauge',
startAngle: 180,
endAngle: 0,
radius: 50,
axisLine: {
show: true,
// 属性lineStyle控制线条样式
lineStyle: {
width: 15,
color:[[ 0.3, '#ff797a'],[ 0.5, '#999'],[ 1, '#a3db41']]
}
},
splitLine:{
show: false,
},
axisTick:{
show: false,
},
axisLabel:{
show: false,
},
pointer:{
length: '60px',
width: '3px',
},
detail: {
offsetCenter:[ 0, '-120%'],
fontSize: 14,
formatter: '现货白银{value}'
},
data: [
{ value: 45}
]
}]
};

// 指定图表的配置项和数据
var option2 = {
legend: {
show: false,
orient: 'vertical',
x: 'left',
data:[ '多', '平', '空', '__other']
},
series: [
{
name: '访问来源',
type: 'pie',
radius: [ '50%', '70%'],
startAngle: 180,
avoidLabelOverlap: false,
label: {
normal: {
show: true,
position: 'top'
},
emphasis: {
show: true,
textStyle: {
fontSize: '30',
fontWeight: 'bold'
}
}
},
labelLine: {
normal: {
show: false
}
},
data:[
{ value: 335, name: '多'},
{ value: 310, name: '平'},
{ value: 234, name: '空'},
{ value: 879, name: '__other', itemStyle:{ normal:{ color: 'rgba(0,0,0,0)'}}}
]
}
]
};

// 使用刚指定的配置项和数据显示图表。
myChart. setOption( option);
myChart2. setOption( option2);
setInterval( function(){ //把option.series[0].data[0].value的值使用random()方法获取一个随机数
option. series[ 0]. data[ 0]. value = ( Math. random() * 100). toFixed( 2) - 0;
myChart. setOption( option, true);
}, 2000);
< / script >
</ body >

</ html >

效果如图所示


仪表盘中这部分的代码是用来给不同占比的模块指定颜色

axisLine: {
show: true,
// 属性lineStyle控制线条样式
lineStyle: {
width: 15,
color:[[ 0.3, '#ff797a'],[ 0.5, '#999'],[ 1, '#a3db41']]
}
},

圆环图则是直接通过data的值来改变占比。其中最后的那个数组是用来话下半部分,通过颜色设置为白色,来实现只显示半个圆环的效果

data:[
{ value: 335, name: '多'},
{ value: 310, name: '平'},
{ value: 234, name: '空'},
{ value: 879, name: '__other', itemStyle:{ normal:{ color: 'rgba(0,0,0,0)'}}}
]


大小通过 radius 来控制


  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值