数据可视化|pyecharts饼状图_饼状图

数据可视化|pyecharts饼状图_添加数据_02

饼状图常用于统计学模型,显示的是一个数据系列,图表中的每个数据系列具有唯一的颜色。饼状图只有一个数据系列,组成了饼状图中各项的大小与各项总和的比例。饼状图中的数据点显示为整个饼状图。

饼状图的绘图要点:

  • 仅有一个要绘制的数据系列
  • 要绘制的数值没有负值
  • 要绘制的数值几乎没有零值
  • 类别数目无限制
  • 各类别分别代表整个饼状图的一部分
  • 各个部分需要标注百分比

本文借助Python中的pyecharts库,绘制常用的饼状图,圆环图、玫瑰图(饼状图的变种), 生成饼状图可以分为如下几步,导入pyecharts库,导入数据,基本属性设置,如下为常用的饼状图示例,详细操作请看代码注释。


1

饼状图

from pyecharts.charts importimport pyecharts.options as
num = [506.2,81.7,47.4]lab = ['东部地区', '中部地区', '西部
from pyecharts.charts import Pie
import pyecharts.options as opts

num = [506.2,81.7,47.4]
lab = ['东部地区', '中部地区', '西部地区'] #导入数据

(
Pie(init_opts=opts.InitOpts(width='720px', height='320px')) #自定义画布大小
.add(series_name='', data_pair=[(i, j)for i, j in zip(lab, num)]) #遍历数据
.set_global_opts(title_opts=opts.TitleOpts(title="区域快递业务总量/亿件",subtitle="2019年国家邮政局监管报告")) #添加主、副标题
.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {d}%")) #添加数据标签

).render_notebook()地区'] #导入数据
('720px', height='320px')) #自定义画布大小'', data_pair=[(i, j)for i, j in zip(lab, num)]) #遍历数据"区域快递业务总量/亿件",subtitle="2019年国家邮政局监管报告")) #添加主、副标题"{b}: {d}%")) #添加数据标签 ).render_notebook()

数据可视化|pyecharts饼状图_饼状图_03

2

圆环图


from pyecharts.charts import Pie
import pyecharts.options as opts

num = [506.2,81.7,47.4]
lab = ['东部地区', '中部地区', '西部地区'] #导入数据

(
Pie(init_opts=opts.InitOpts(width='720px', height='320px')) #指定画布大小
.add(series_name='',
radius=['40%', '75%'], #设置内、外环大小
data_pair=[(j, i) for i, j in zip(num, lab)]) #遍历数据
.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {d}%"))###添加数据标签
.set_global_opts(title_opts=opts.TitleOpts(title="区域快递业务总量/亿件",subtitle="2019年国家邮政局监管报告")) #添加主、副标题
.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {d}%")) #添加数据标签
).render_notebook()

数据可视化|pyecharts饼状图_添加数据_04

3

玫瑰图


# 情绪分布玫瑰图
from pyecharts.charts import Pie
from pyecharts import options as opts

cate = ['积极情绪','中性情绪','消极情绪']
data = [322, 96, 118] # 示例数据

(
Pie(init_opts=opts.InitOpts(width='720px', height='320px')) #指定图表大小
.add('', [list(z) for z in zip(cate, data)],
radius=["30%", "75%"],
rosetype="radius") #设置为玫瑰图
.set_global_opts(title_opts=opts.TitleOpts(title="情绪分布玫瑰图")) #添加标题
.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {d}%")) #数据标签
).render_notebook()

数据可视化|pyecharts饼状图_数据_05

数据可视化|pyecharts饼状图_数据_06