Skip to content

Pie 饼状图

饼状图是一种将数据以扇形形式展示在圆形图表中的可视化方式,用于显示各部分占整体的比例关系。

平台差异说明

App(vue)App(nvue)H5小程序

基础饼图

通过在 [series] 中添加对象并设置数据,可以绘制基础饼图。

vue
<template>
  <view>
    <ly-charts-pie :option="chartOption" height="400"></ly-charts-pie>
  </view>
</template>

<script setup>
  import { ref } from 'vue'
  
  const chartOption = ref({
    title: {
      text: 'Referer of a Website',
      subtext: 'Fake Data',
      left: 'center'
    },
    series: [{
      name: '访问来源',
      type: 'pie',
      data: [
        { name: '分类一', value: 30 },
        { name: '分类二', value: 25 },
        { name: '分类三', value: 20 },
        { name: '分类四', value: 15 },
        { name: '分类五', value: 10 }
      ]
    }],
    legend: {
      show: true,
      bottom: 20
    }
  })
</script>

环形饼图

通过设置 [series] 中的 [radius] 属性为数组形式,可以实现环形饼图。

vue
<template>
  <view>
    <ly-charts-pie :option="chartOption" height="400"></ly-charts-pie>
  </view>
</template>

<script setup>
  import { ref } from 'vue'
  
  const chartOption = ref({
    title: {
      text: 'Referer of a Website',
      subtext: 'Fake Data',
      left: 'center'
    },
    series: [{
      name: '访问来源',
      type: 'pie',
      radius: ['50%', '65%'],
      data: [
        { name: '分类一', value: 30 },
        { name: '分类二', value: 25 },
        { name: '分类三', value: 20 },
        { name: '分类四', value: 15 },
        { name: '分类五', value: 10 }
      ]
    }],
    legend: {
      show: true,
      bottom: 20
    }
  })
</script>

自定义样式

通过设置 [series] 中的 [itemStyle] 属性,可以自定义饼图扇形样式。

vue
<template>
  <view>
    <ly-charts-pie :option="chartOption" height="400"></ly-charts-pie>
  </view>
</template>

<script setup>
  import { ref } from 'vue'
  
  const chartOption = ref({
    title: {
      text: '自定义样式饼图',
      left: 'center'
    },
    series: [{
      name: '销售数据',
      type: 'pie',
      itemStyle: {
        borderRadius: 10,
        borderColor: '#fff',
        borderWidth: 2
      },
      data: [
        { name: '产品A', value: 30, itemStyle: { color: '#ff6b6b' } },
        { name: '产品B', value: 25, itemStyle: { color: '#4ecdc4' } },
        { name: '产品C', value: 20, itemStyle: { color: '#45b7d1' } },
        { name: '产品D', value: 15, itemStyle: { color: '#f9ca24' } },
        { name: '产品E', value: 10, itemStyle: { color: '#6c5ce7' } }
      ]
    }],
    legend: {
      show: true,
      bottom: 20
    }
  })
</script>

Props

参数说明类型默认值可选值
option图表配置项,格式与 ECharts 相似Object--
width图表容器宽度String | Number100%-
height图表容器高度String | Number300-

Events

事件名说明回调参数
click点击扇形区域时触发{ name, value, dataIndex, data, event }

Option 属性

属性名说明类型默认值
title标题配置Object-
title.text标题文本String-
title.subtext副标题文本String-
title.left标题水平位置Stringcenter
legend图例配置Object-
legend.show是否显示图例Booleantrue
legend.bottom图例底部距离Number20
series系列列表Array-
series[].type系列类型Stringpie
series[].name系列名称String-
series[].data系列数据Array-
series[].data[].name数据项名称String-
series[].data[].value数据项值Number-
series[].radius饼图半径String | Array65%
series[].itemStyle扇形样式Object-
series[].itemStyle.borderRadius扇形圆角Number0
series[].itemStyle.borderColor边框颜色String#fff
series[].itemStyle.borderWidth边框宽度Number2

方法

方法名说明参数
updateData更新图表数据data
getChartInstance获取图表实例-