echarts之饼图制作+标示线

1,安装echarts组件

npm  install echarts -s

2,在main.js中全局引入以及挂载

import echarts from 'echarts';//引入
Vue.prototype.$echarts = echarts;//挂载

也可以直接在new Vue里面添加挂载或者Vue.use(echarts);
三种都是挂载,都可以用

3,然后我们回到组件中,一种是组件全局引入
(写在组件的script部分的最开始,引入嘛)

import * as echarts from 'echarts';

4,一种是按需引入,要什么就引入什么

let echarts = require("echarts/lib/echarts");
require("echarts/lib/chart/bar"); //柱状图
require("echarts/lib/chart/pie"); //饼图
...

5,引入都学会了,那么我们看代码

<div id="mainPie" style="width: 100%; height: 600px"></div>

首先是html部分,也就是你组件的template部分,放一个盒子,这个盒子得有宽高,来装你要显示的图形,我这里用的行内样式(推荐写到你的style部分)
id是用来分辩应该在那里显示的

//肯定是先挂载
mounted() {
	//这里传入我们的id值,并在页面挂载的时候显示饼图
    this.draw("mainPie"); //调用
  },
  //方法部分
  methods: {
    draw(id) {
    //这个就是获取id
      let myChart = echarts.init(document.getElementById(id));
      这里是在我们获取的盒子里绘制饼图
      myChart.setOption({
        tooltip: {
          trigger: "item",//数据项图形触发,主要在散点图,饼图等无类目轴的图表中使用。
        },
        //这里主要设置我的一些标签的显示位置
        legend: {
          orient: "vertical",
          top: "20%",
          right: "right",
        },
        //这里设置饼图
        series: [
          {
            name: "Access From",
            type: "pie",
            //这个就是饼图的内圈和外圈的差值
            radius: ["30%", "60%"],
            avoidLabelOverlap: false,
            itemStyle: {
              borderRadius: 10,
              borderColor: "#fff",
              borderWidth: 10,
            },
            labelLine: {
              normal: {
                length: 40,//第一段表示线
                length2: 60, // 第二段标示线
              },
            },
            label: {
              normal: {
              //下面三条语句设置了让文字显示在标线上
                formatter:'{b}\n\n',
                padding: [0, -45],
                alignTo: "labelLine",
                textStyle: {
                  color: "#000", // 改变标示文字的颜色
                },
              },
              show: true,
              position: "center",
            },
            emphasis: {
              label: {
                show: true,
                fontSize: "40",
                fontWeight: "bold",
              },
            },
            //数据部分
            data: [
              { value: 1048, name: "已完成", itemStyle: { color: "#fb9db7" } },
              { value: 735, name: "进行中", itemStyle: { color: "#fbdd9d" } },
              { value: 580, name: "已退票", itemStyle: { color: "#faa59e" } },
            ],
          },
        ],
      });
    },
  },

在这里插入图片描述

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在echarts饼图中显示指定的标示线,可以使用labelLine对象中的emphasis属性和position属性来控制标示线的位置和样式。具体的实现步骤如下: 1. 找到需要设置的饼图系列,通过设置series[i].data[j].labelLine.position属性来控制该数据点的标示线位置。position属性可以设置为'inner'表示在饼图扇形内部显示标示线,设置为'outer'表示在扇形外部显示标示线。 2. 将labelLine的emphasis属性中的show属性设置为true,以确保在鼠标悬浮时显示标示线。 3. 如果需要调整标示线的样式,可以设置emphasis属性中的lineStyle属性,例如设置颜色、线宽等。 示例代码如下: ```javascript option = { series: [{ type: 'pie', data: [ {value: 335, name: '直接访问', labelLine: {position: 'inner'}}, {value: 310, name: '邮件营销', labelLine: {position: 'outer'}}, {value: 234, name: '联盟广告', labelLine: {position: 'outer'}}, {value: 135, name: '视频广告', labelLine: {position: 'outer'}}, {value: 1548, name: '搜索引擎', labelLine: {position: 'outer'}} ], labelLine: { show: false // 不显示默认标示线 }, emphasis: { labelLine: { show: true, // 显示标示线 lineStyle: { color: '#999', // 设置标示线颜色 width: 2 // 设置标示线宽度 } } } }] }; ``` 以上代码中,第一个数据点的标示线位置被设置为'inner',表示在饼图扇形内部显示标示线;其余数据点的标示线位置被设置为'outer',表示在扇形外部显示标示线。在emphasis属性中,labelLine的show属性设置为true,表示在鼠标悬浮时显示标示线;同时也可以设置lineStyle属性来调整标示线的样式。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值