利用echats饼图的各种样式

效果图:

  为 ECharts 准备一个具备大小(宽高)的 容器

<div class="problem-span-echats"></div>

 

.problem-span-echats {
    width: 100%;
    height: 100%;
  }

初始化echats实例: 

// ref="lieAExercise"定义该div也就是画布的名字,在$echarts.init(this.$refs.lieAExercise) 图表初始化的时候使用
                // this.$refs.lieAExercise 也可以替换为 document.getElementById('lieAId') 或者 document.getElementByClassName('lieA')
                this.lieA = echarts.init(this.$refs.lieAExercise);
 var dom = document.getElementsByClassName("problem-span-echats")[0];
        var myChart = echarts.init(dom);

echarts接口仅有一个方法init,执行init时传入一个具备大小(如果没有指定容器的大小将会按照0大小来处理即无法看到图表)的dom节点(width、height可被计算得到即可,不一定可见)后即可实例化出图表对象。

所以在最外层容器给了宽和高。

先贴整体代码在做详细介绍:

option = ({
          //圆环图各环节的颜色
          color: ['rgb(117,254,123)', 'rgb(253,230,90)', 'rgb(82,136,248)'],
          // 指定图表的配置项和数据
            series: [{
            name: '访问来源',
            type: 'pie',
            radius: ['50%', '75%'],
            avoidLabelOverlap: false,
            label: {
              normal: {
                formatter: '{b} {d}%',
                textStyle: {
                  fontWeight: 'normal',
                  fontSize: 18
                }
              }
            },
            emphasis: {
              label: {
                show: true,
                fontSize: '30',
                fontWeight: 'bold'
              }
            },
           // 圆环图各环节的名称和值(系列中各数据项的名称和值)
            data: [{
                value: 25,
            
                name: '上学'
              },
              {
                value: 11,
            
                name: '工作'
              }, {
                value: 64,
       
                name: '学习'
              }
            ]
          }]
        })
        if (option && typeof option === "object") {
          myChart.setOption(option, true);
        }

radius:

  • number:直接指定外半径值。
  • string:例如,'20%',表示外半径为可视区尺寸(容器高宽中较小一项)的 20% 长度。

比如现在的值是radius: ['50%', '75%'],改成radius: ['20%', '75%'],

再改成radius: ['50%', '35%'],

radius也可以写成radius: [50, 75],

背景渐变色

然后实现一个背景渐变色:

效果图:

 将这段代码放到setOption里:

线性渐变

 x: 0,                 // 左上角x
    y: 0,                 // 左上角y
    x2: 0,                // 右下角x
    y2: 1,                // 右下角y

// 线性渐变,前四个参数分别是 x0, y0, x2, y2, 范围从 0 - 1,相当于在图形包围盒中的百分比,如果 globalCoord 为 `true`,则该四个值是绝对的像素位置 

        
           backgroundColor: { // 背景颜色
						type: 'linear',
						x: 0,
						y: 0,
						x2: 0,
						y2: 1,
						colorStops: [{
							offset: 0,
							color: 'rgba(0,0,0,0.4)' // 0% 处的颜色
						}, {
							offset: 0.5,
							color: 'rgba(65,184,131,0.4)' // 50% 处的颜色
						}, {
							offset: 1,
							color: 'rgba(0,255,255,0.4)' // 100% 处的颜色
						}],
						globalCoord: false // 缺省为 false
					},

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值