笑出腹肌的饼图绘制秘籍:Matplotlib让你秒变数据烘焙大师!

在这里插入图片描述

1. 引言

亲们,还在为数据报告里的饼图头疼吗?别怕,Matplotlib来救场啦!它不只是个绘图工具,简直是数据界的魔术师,让你的饼图既专业又有趣。跟我学几招,保证让你的观众边吃边看,爱不释眼!快来解锁你的数据烘焙新技能吧!饼状图用来显示一个数据系列,具体来说,饼状图显示一个数据系列中各项目总和的百分比。

2. 导包

# 导包
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

# 如果浏览器不显示图片,就需要加上这句话
%matplotlib inline

# 让图片中可以显示中文
plt.rcParams['font.sans-serif'] = "SimHei"
# 让图片中可以显示负号
plt.rcParams["axes.unicode_minus"] = False

# 支持svg矢量图
%config Inlinebackend.figure_format = "svg"

3. 饼图

x = [10, 20, 30, 40]

# autopct:设置百分比
plt.pie(x, autopct="%.2f%%")
plt.show()

在这里插入图片描述

4. Pandas获取Excel数据

df = pd.read_excel("09_pie.xlsx", sheet_name="pie1")
df
省份销量
0广东12932
1山东9622
2湖北9505
3江苏7898
4浙江7675
5河北7315
6广西5164
7上海5132
8北京4885
9四川4468
citys, values = df["省份"], df["销量"]
plt.figure(figsize=(4, 4))

# autopct:显示百分比
# pctdistance:百分比文字的位置
# labels:标签
# labeldistance:标签的位置
# shadow:阴影
# textprops:文字的样式
# explode:分裂效果
plt.pie(x=values, 
        autopct="%.1f%%", 
        pctdistance=0.8, 
        labels=citys, 
        labeldistance=1.3, 
        # shadow=True, 
        textprops={"fontsize":12, "color":"blue"}, 
        explode=[0.1, 0, 0, 0, 0, 0, 0, 0, 0, 0])
plt.show()

在这里插入图片描述

5. 单个圆环:甜甜圈

plt.figure(figsize=(4, 4))

# autopct:显示百分比
# pctdistance:百分比文字的位置
# labels:标签
# textprops:文字的样式
# explode:分裂效果
# wedgeprops:甜甜圈设置(width:扇形宽度,edgecolor:扇形边线效果)
plt.pie(x=values, 
        autopct="%.1f%%", 
        pctdistance=0.8, 
        labels=citys, 
        textprops={"fontsize":10, "color":"k"},
        wedgeprops={"width":0.4, "edgecolor":"w"}
       )
plt.show()

在这里插入图片描述

6. 多个圆环

df1 = pd.read_excel("09_pie.xlsx", sheet_name="pie1")
df2 = pd.read_excel("09_pie.xlsx", sheet_name="pie2")
display(df1,df2)
省份销量
0广东12932
1山东9622
2湖北9505
3江苏7898
4浙江7675
5河北7315
6广西5164
7上海5132
8北京4885
9四川4468
省份销量
0广东21600
1山东7800
2湖北9505
3江苏7898
4浙江12240
5河北11760
6广西5164
7上海33776
citys1, values1 = df1["省份"], df1["销量"]
citys2, values2 = df2["省份"], df2["销量"]
plt.figure(figsize=(6, 6))

# 第一个圆环
# autopct:显示百分比
# pctdistance:百分比文字的位置
# labels:标签
# textprops:文字的样式
# explode:分裂效果
# wedgeprops:甜甜圈设置(width:扇形宽度,edgecolor:扇形边线效果)
plt.pie(x=values1, 
        autopct="%.1f%%", 
        pctdistance=0.8, 
        labels=citys1, 
        textprops={"fontsize":10, "color":"k"},
        wedgeprops={"width":0.4, "edgecolor":"w"}
       )

# 第二个图
# radius:半径
plt.pie(
    x=values2,
    autopct="%.1f%%", 
    pctdistance=0.8, 
    textprops={"fontsize":8, "color":"k"},
    radius=0.59
)

# 图例
plt.legend(citys1, fontsize=6, loc="upper left")

plt.show()

在这里插入图片描述

  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

腾飞开源

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值