ECharts --pie 饼状图

773 阅读1分钟
<template>
  <div
    ref="pie"
    style="width: 500px; height: 300px; border: 1px solid red"
  ></div>
</template>

<script>
import * as echarts from "echarts";
export default {
  name: "pie",
  mounted() {
    let myChart = echarts.init(this.$refs.pie);
    let option = {
      legend: {},
      series: [
        {
          type: "pie", //饼图
          legendHoverLink: false, // 是否启用图例 hover 时的联动高亮。
          avoidLabelOverlap: false, // 是否启用防止标签重叠策略,默认开启,在标签拥挤重叠的情况下会挪动各个标签的位置,防止标签间的重叠。
          // 如果不需要开启该策略,例如圆环图这个例子中需要强制所有标签放在中心位置,可以将该值设为 false。
          data: [
            { value: 1048, name: "Search Engine" },
            { value: 735, name: "Direct" },
            { value: 580, name: "Email" },
            { value: 484, name: "Union Ads" },
            { value: 300, name: "Video Ads" },
          ],
          radius: ["40%", "70%"], // numberstringArray
          // roseType: 'radius',
          /* 是否展示成南丁格尔图,通过半径区分数据大小。可选择两种模式:
          'radius' 扇区圆心角展现数据的百分比,半径展现数据的大小。
            'area' 所有扇区圆心角相同,仅通过半径展现数据大小。 */
          /* 占位圆样式。 */
          emptyCircleStyle: {
            color: "red",
          },
          /* 图形样式。 */
          itemStyle: {
            borderColor: "#fff", //图形的描边颜色。支持的颜色格式同 color,不支持回调函数。
            borderWidth: 2, // 描边线宽。为 0 时无描边。
            borderRadius: 10, //用于指定饼图扇形区块的内外圆角半径,支持设置固定数值或者相对于扇形区块的半径的百分比值。
          },
          /* 饼图图形上的文本标签,可用于说明图形的一些数据信息,比如值,名称等。 */
          label: {
            show: false,
            position: "center", // 标签的位置。
          },
          emphasis: {
            scale: true, // 是否开启高亮后扇区的放大效果。
            scaleSize: 10, // 高亮后扇区的放大尺寸, 在开启 emphasis.scale 后有效
            label: {
              show: true,
              fontWeight: "bolder",
              fontSize: "50", // string
            },
            itemStyle: {
              shadowBlur: 10,
              shadowOffsetX: 3,
              shadowOffsetY: 3,
            },
          },
        },
      ],
      tooltip: {},
    };
    myChart.setOption(option);
  },
};
</script>

<style>
</style>