您的位置:

Echarts饼图大小全面介绍

一、饼图大小对数据比例的呈现

饼图是一种数据呈现方式,其通过圆形的面积比例来展示数据的各个部分所占的比例。而饼图的大小对于数据的呈现有着至关重要的作用,下面我们通过代码展示一下如何设置饼图的大小。


option = {
  ...
  series: [{
      type: 'pie',
      radius: ['20%', '70%'],
      avoidLabelOverlap: false,
      label: {
          show: false,
          position: 'center'
      },
      emphasis: {
          label: {
              show: true,
              fontSize: '30',
              fontWeight: 'bold'
          }
      },
      labelLine: {
          show: false
      },
      data: [
          {value: 335, name: '直接访问'},
          {value: 310, name: '邮件营销'},
          {value: 234, name: '联盟广告'},
          {value: 135, name: '视频广告'},
          {value: 1548, name: '搜索引擎'}
      ]
  }]
};

代码中,通过设置 radius 参数来控制饼图的大小。具体来说,radius 是一个数组,第一个元素表示内圈半径,第二个元素表示外圈半径,大小比例决定了饼图的大小。实际使用中,内圈半径一般设为固定值,而外圈半径根据数据比例而不同。

二、饼图大小与美观度的关系

饼图在数据可视化中有很重要的作用,而饼图的大小也直接影响到其美观度。下面我们通过调整饼图大小来观察其美观度的变化。


option = {
  ...
  series: [{
      type: 'pie',
      radius: ['50%', '70%'],
      avoidLabelOverlap: false,
      label: {
          show: false,
          position: 'center'
      },
      emphasis: {
          label: {
              show: true,
              fontSize: '30',
              fontWeight: 'bold'
          }
      },
      labelLine: {
          show: false
      },
      data: [
          {value: 335, name: '直接访问'},
          {value: 310, name: '邮件营销'},
          {value: 234, name: '联盟广告'},
          {value: 135, name: '视频广告'},
          {value: 1548, name: '搜索引擎'}
      ]
  }]
};

可以看出,当饼图大小变小时,饼图的美观度也随之下降,不具有良好的视觉效果。相反,当饼图呈现大的状态时,则会更具有良好的视觉效果。

三、饼图大小与交互效果的体现

Echarts 饼图可以拥有丰富的交互效果,而饼图大小对于交互效果的体现也有很重要的影响。下面,我们通过代码来演示如何通过调整饼图大小来体现交互效果。


option = {
  ...
  series: [{
      type: 'pie',
      radius: ['40%', '70%'],
      avoidLabelOverlap: false,
      label: {
          show: false,
          position: 'center'
      },
      emphasis: {
          label: {
              show: true,
              fontSize: '30',
              fontWeight: 'bold'
          }
      },
      labelLine: {
          show: false
      },
      data: [
          {value: 335, name: '直接访问'},
          {value: 310, name: '邮件营销'},
          {value: 234, name: '联盟广告'},
          {value: 135, name: '视频广告'},
          {value: 1548, name: '搜索引擎'}
      ]
  }]
};

代码中,可以看出通过调整饼图外圈半径的大小,可以让饼图更为夸张和醒目,这种呈现方式可以有效的对用户吸引注意力,同时也增强了交互效果,从而让应用程序拥有更加良好的交互性。

四、饼图大小对于数据分析的影响

饼图的大小直接影响着数据的呈现方式,它不仅可以让数据更加直观清晰,同时也会对数据分析产生重要的影响。下面我们通过代码来介绍饼图大小对于数据分析的影响。


option = {
  ...
  series: [{
      type: 'pie',
      radius: ['20%', '70%'],
      avoidLabelOverlap: false,
      label: {
          show: false,
          position: 'center'
      },
      emphasis: {
          label: {
              show: true,
              fontSize: '30',
              fontWeight: 'bold'
          }
      },
      labelLine: {
          show: false
      },
      data: [
          {value: 35, name: '直接访问'},
          {value: 31, name: '邮件营销'},
          {value: 234, name: '联盟广告'},
          {value: 135, name: '视频广告'},
          {value: 48, name: '搜索引擎'}
      ]
  }]
};

代码中,我们调整了数据的比例,在其他数据基本相同的情况下,我们只将直接访问和邮件营销的值降低,从而让数据波动更加明显。通过对数据呈现的分析,我们可以很明显的看出,数据呈现的方式已经发生了明显的变化,由于保持了饼图的大小作为一个问题,使得数据的分析与呈现变得更加清晰。

五、同等半径饼图的呈现方式

我们经常会遇到一些饼图的半径大小保持不变的情况,那么该如何实现同等半径的饼图呈现呢?下面我们通过代码来展示如何实现。


option = {
  ...
  series: [{
      type: 'pie',
      radius: 50,
      center: ['25%', '50%'],
      roseType: 'radius',
      avoidLabelOverlap: false,
      label: {
          show: false,
          position: 'center'
      },
      emphasis: {
          label: {
              show: true,
              fontSize: '30',
              fontWeight: 'bold'
          }
      },
      labelLine: {
          show: false
      },
      data: [
          {value: 335, name: '直接访问'},
          {value: 310, name: '邮件营销'},
          {value: 234, name: '联盟广告'},
          {value: 135, name: '视频广告'},
          {value: 1548, name: '搜索引擎'}
      ]
  }, {
      type: 'pie',
      radius: 50,
      center: ['75%', '50%'],
      roseType: 'radius',
      avoidLabelOverlap: false,
      label: {
          show: false,
          position: 'center'
      },
      emphasis: {
          label: {
              show: true,
              fontSize: '30',
              fontWeight: 'bold'
          }
      },
      labelLine: {
          show: false
      },
      data: [
          {value: 10, name: '直接访问'},
          {value: 5, name: '邮件营销'},
          {value: 8, name: '联盟广告'},
          {value: 7, name: '视频广告'},
          {value: 9, name: '搜索引擎'}
      ]
  }]
};

代码中,我们通过设置 roseType 参数来使得两个饼图的半径保持不变,从而实现了同等半径的饼图呈现。但是有一点需要注意,由于饼图半径保持不变,导致数据呈现的明显程度会受到影响。