vue2自定义echarts饼图图例,图例图标以及图形中间文字

官网: Apache ECharts

vue项目中引入步骤:

        1、使用npm安装Echarts:在终端运行命令npm install echarts --save

        2、在vue项目的入口文件也就是main.js中引入Echarts:import * as echarts from 'echarts'

        3、将Echarts挂载到vue原型:在main.js中使用vue.prototype.$echarts = echarts

        4、定义图表容器,设置echarts配置项,初始化echarts实例

        

template>
    <div class="chartBox" ref="chartBox"></div>
</template>
<script>
export default {
  components: {},
  data() {
    const vm = this
    return {
      option: {
        color: ["#376FFF", "#FAAD3A", "#FA5339"],//可自定义也可以随机生成
        tooltip: {
          trigger: 'item',
        },
        title: {//标题
          text: '饼图',
          left: 'center',
          top: '10%',
          textStyle:{
            color: "#000",
            fontSize: '39px'
          }
        },
        legend: [//图例
          {
            orient: 'vertical',//图例布局:'horizontal'、'vertical'
            icon: "citrianglercle",//图例图标:'circle', 'rect', 'roundRect',
            //'diamond', 'pin', 'arrow', 'none','triangle',
            textStyle: {
              color: "#C0C4C7",
              fontSize: '14px'
            },
            align: 'right',//图标位置
            itemWidth : 8,//图例宽度
            itemHeight: 8,//图例高度
            data: ['Search Engine'],//左侧图例数据
            x: "left",//图例位置
            top: '50%',
          },
          {
            orient: 'vertical',
            icon: "circle",
            textStyle: {
              color: "#C0C4C7",
              fontSize: '14px'
            },
            itemWidth : 8,
            align: 'left',
            itemHeight: 8,
            data: ['Direct Direct','Email Email'],//右侧图例数据
            x: "right",
            top: '50%',
          }  
        ],
        series: [
          {
            name: 'Access From',
            type: 'pie',
            radius: ['30%', '43%'],//饼图内半径、外半径
            center: ['50%', '50%'],//饼图x、y轴距离
            label: {
              show: true,
              position: 'center',//文字位置
              formatter: params =>{//自定义文字内容
                return '{total|数量}'+ '\n\r' + '{active|汇总}'
              },
              rich: {//自定义文本样式
                total:{
                  fontSize: 18,
                  fontFamily : "微软雅黑",
                  color:'red',
                },
                active: {
                  fontFamily : "微软雅黑",
                  fontSize: 15,
                  color:'#6c7a89',
                  width: 50,
                  lineHeight: 30
                },
              },
            },
            data: [
              { value: 1048, name: 'Search Engine'},
              { value: 735, name: 'Direct Direct'},
              { value: 580, name: 'Email Email'},
            ]
          }
        ]
      }
    }
  },
  computed: {},
  watch: {},
  methods: {
    init(){
      let chartBox = document.getElementById('chartBox')
      chartBox.setOption(this.options)
    },
  },
  created() {
  },
  mounted() {
    this.init()
  },
}
</script>
<style lang="scss" scoped>
.chartBox{
    height: 200px;
    width: 500px;
}
</style>

图例: 在legend的data中自定义两侧数据(legend自定义文本内容也可以通过formatter设置),icon设置图例图标样式,orient设置图例布局;

饼图中间文字:series的label中通过formatter中自定义文字内容,rich中自定义文字样式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue 中动态渲染 Echarts 饼图可以通过以下步骤实现: 1. 首先,确保你已经安装了 EchartsVue。 ```bash npm install echarts vue-echarts ``` 2. 在你的 Vue 组件中引入所需的库和组件。 ```javascript import * as echarts from 'echarts'; import VueECharts from 'vue-echarts'; ``` 3. 在模板中使用 VueECharts 组件,并绑定必要的属性。 ```html <template> <div> <vue-echarts :options="chartOptions" :theme="chartTheme" :auto-resize="true"></vue-echarts> </div> </template> ``` 4. 在 Vue 组件的数据中定义饼图的数据和配置项。 ```javascript data() { return { chartOptions: { title: { text: '饼图示例', left: 'center' }, series: [ { name: '访问来源', type: 'pie', radius: '50%', data: [ { value: 335, name: '直接访问' }, { value: 310, name: '邮件营销' }, { value: 234, name: '联盟广告' }, { value: 135, name: '视频广告' }, { value: 1548, name: '搜索引擎' } ], emphasis: { itemStyle: { shadowBlur: 10, shadowOffsetX: 0, shadowColor: 'rgba(0, 0, 0, 0.5)' } } } ] }, chartTheme: 'light' // 可选主题:'light', 'dark' }; } ``` 5. 在 Vue 组件的生命周期钩子中初始化并渲染饼图。 ```javascript mounted() { this.$nextTick(() => { const chart = echarts.init(this.$refs.chart); // 初始化 Echarts 实例 chart.setOption(this.chartOptions); // 设置图表的配置项和数据 }); } ``` 通过以上步骤,你就可以在 Vue 中动态渲染 Echarts 饼图了。你可以根据自己的需求调整饼图的数据和配置项,使其适应你的应用场景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值