Vue3+Echarts 常用属性总结之饼图

类型

饼图分有三种类型:

  • 基础饼图
  • 圆环图 (设置设置radius:radius: ['50%', '70%'],)
  • 南丁格尔图(玫瑰图,设置roseType: 'area'

举一个简单的例子

<template>
  <div class="chart-container">
    <div style="width: 100%; height: 400px" ref="chartRef" class="chart"></div>
  </div>
</template>

<script>
import { ref, onMounted } from 'vue';
import * as echarts from 'echarts';

export default {
  name'PieChart',
  setup() {
    const chartRef = ref(null);

    onMounted(() => {
      const chart = echarts.init(chartRef.value);
      //有一个生肖的数据
      const data = [
      { name'鼠'value11 },
      { name'狗'value7 },
      { name'鸡'value15 },
      { name'猴'value9 },
      { name'羊'value6 },
      { name'马'value5 },
      { name'蛇'value9 },
      { name'龙'value8 },
      { name'兔'value5 },
      { name'虎'value12 },
      { name'牛'value12 },
      { name'猪'value3 }
      ];

      const option = {
        series: [
          {
            type'pie',
            radius: ['50%''70%'], //设置radius就是圆环图
            roseType'area'//玫瑰图
            label: {
              showtrue,
              position'inside',
              formatter'{d}%n{name}'// 显示百分比和名称
            },
            data: data,
          },
        ],
      };

      chart.setOption(option);
    });
    return {
      chartRef,
    };
  },
};
</script>

效果:Vue3+Echarts 常用属性总结之饼图下面我们就以圆环图为例子。

设置显示百分比

要在Echarts的圆环图中显示百分比,你可以通过配置serieslabel属性来实现。以下是一个示例代码:

<script setup>
//省略
    const option = {
        series: [
          {
            type'pie',
            radius: ['20%''60%'],
            // roseType: 'area', //玫瑰图
            data: data,
            label: {
              showtrue,
              position'outside'//位置,内部(inside)和外部(outside)
              formatter'{d}%n{b}' // 显示百分比和名称
            }
          }
        ]
  }
</script>

并在图表的配置项中设置了serieslabel属性。我们将labelshow属性设置为true,表示要显示标签;将position属性设置为outside,表示标签显示在内部;并使用formatter属性来设置标签的格式,通过{d}占位符表示百分比,{b}表示名称。

效果:

Vue3+Echarts 常用属性总结之饼图
image.png

设置 tooltip (同折线图)

const option = {
    tooltip: {
      trigger'item'// 触发类型为item,表示在圆点上触发显示
      formatter'{b}: {c}' // 显示的格式,{b}表示类目值,{c}表示数值
    },
    series: [
      {
        type'pie',
        radius: ['20%''60%'],
        // roseType: 'area', //玫瑰图
        data: data,

        label: {
          showtrue,
          position'outside',
          formatter'{d}%n{b}' // 显示百分比和名称
        }
      }
    ]
  }

效果:

Vue3+Echarts 常用属性总结之饼图
image.png

设置选中状态

要在Echarts的圆环图中选中某个扇形时放大百分比,你可以使用emphasis属性来设置选中状态的样式。以下是一个示例代码:


<script>
  const option = {
    tooltip: {
      trigger'item'// 触发类型为item,表示在圆点上触发显示
      formatter'{b}: {c}' // 显示的格式,{b}表示类目值,{c}表示数值
    },
    series: [
      {
        type'pie',
        radius: ['20%''60%'],
        // roseType: 'area', //玫瑰图
        data: data,

        label: {
          showtrue,
          position'outside',
          formatter'{d}%n{b}' // 显示百分比和名称
        },
        emphasis: {
          label: {
            showtrue,
            fontSize'20'
          }
        }
      }
    ]
  }
</script>

在上面的代码中,我们在series的配置项中设置了emphasis属性。在emphasis属性中,我们将labelshow属性设置为true,表示选中状态下要显示标签;并设置fontSize属性为20,表示选中状态下标签的字体大小放大为20。

通过这种方式,当选中某个扇形时,标签的字体大小会放大为20。

效果:

Vue3+Echarts 常用属性总结之饼图
image.png

显示各种颜色代表的值

legend对象在Echarts中提供了多个属性来自定义图例的样式和行为。以下是一些常用的legend属性:

  • show: 是否显示图例,默认为true
  • data: 图例的数据数组,用于指定图例的名称。
  • selected: 图例项的选中状态,可以通过设置对应图例项的名称为truefalse来控制其默认选中状态。
  • textStyle: 图例文本的样式,可以设置字体颜色、字体大小等。
  • backgroundColor: 图例的背景颜色。
  • borderColor: 图例的边框颜色。
  • borderWidth: 图例的边框宽度。
  • borderRadius: 图例的边框圆角半径。
  • padding: 图例的内边距。
  • itemGap: 图例项之间的间距。
  • itemWidth: 图例项的宽度。
  • itemHeight: 图例项的高度。
  • orient: 图例的布局方向,可以是horizontal(水平布局)或vertical(垂直布局)。
  • align: 图例的水平对齐方式,可以是leftcenterright
  • verticalAlign: 图例的垂直对齐方式,可以是topmiddlebottom

你可以根据自己的需求使用这些属性来自定义图例的样式和行为。

要在Echarts的圆环图中显示各种颜色代表的值,你可以使用legend属性来配置图例,同时在seriesdata中指定每个扇形的名称和值。以下是一个示例代码:

<script>
const option = {
    tooltip: {
      trigger'item'// 触发类型为item,表示在圆点上触发显示
      formatter'{b}: {c}' // 显示的格式,{b}表示类目值,{c}表示数值
    },
    legend: {
      x'center'//位置
      y'bottom'//放在圆环底部
      showtrue,
      padding4,
      borderRadius6,
      borderWidth1// 设置边框宽度为1px
      borderColor'#ddd'// 设置边框颜色为黑色
      data: data.map((item) => item.name), // 图例数据
      formatterfunction (name{
        // 自定义图例的显示文本
        const item = data.find((item) => item.name === name)
        if (item) {
          return `${name}  ${item.value}`
        }
        return name
      }
    },
    series: [
      {
        type'pie',
        radius: ['20%''60%'],
        // roseType: 'area', //玫瑰图
        data: data,
        label: {
          showtrue,
          position'outside',
          formatter'{d}%n{b}' // 显示百分比和名称
        },
        emphasis: {
          label: {
            showtrue,
            fontSize'20'
          }
        }
      }
    ]
  }
</script>

效果:

Vue3+Echarts 常用属性总结之饼图
image.png


原文始发于微信公众号(大前端编程教学):Vue3+Echarts 常用属性总结之饼图

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/224554.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!