Matplotlib | 绘制饼图

简介

饼图(Pie Chart),用扇形的面积,也就是圆心角的度数来表示数量。

饼图能够十分直观地展示出每个部分数据的占比,各部分比例总量必须是100%。

安装 Matplotlib

打开 CMD, 输入(前提是要安装 Python):

pip install matplotlib

如果下载较慢,建议使用国内镜像:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple matplotlib

开始绘制

在 Matplotlib 中,绘制折线图的函数如下:

plt.pie(x, explode=None, labels=None, colors=None, autopct=None, pctdistance=0.6, shadow=False, labeldistance=1.1, startangle=None, radius=None, counterclock=True, wedgeprops=None, textprops=None, center=(0, 0), frame=False)

简单饼图

直接上代码~ (结合注释食用!)

注:本文使用的数据为七大洲面积。

from matplotlib import pyplot as plt  # 导入 matplotlib
value = [4400, 3000, 2400, 1800, 1400, 1000, 900]  # 数据
plt.pie(value)  # 绘图
plt.show()  # 显示

添加标签

参数:labels,值为一个和数据一一对应的列表。

from matplotlib import pyplot as plt
plt.rcParams['font.family'] = 'Microsoft YaHei'  # 显示中文
value = [4400, 3000, 2400, 1800, 1400, 1000, 900]
name = ["亚洲", "非洲", "北美洲", "南美洲", "南极洲", "欧洲", "大洋洲"]  # 名称
plt.pie(value, labels=name)
plt.show()

添加百分比

参数:autopct,值为一个格式化字符串(如 %1.1f%%)。

from matplotlib import pyplot as plt
value = [4400, 3000, 2400, 1800, 1400, 1000, 900]
plt.pie(value, labels=name, autopct="%1.1f%%")
plt.show()

修改显示方式

  • 显示方向:counterclock
  • 初始角度:startangle
from matplotlib import pyplot as plt
value = [4400, 3000, 2400, 1800, 1400, 1000, 900]
plt.pie(value, counterclock=False, startangle=90)
plt.show()

请添加图片描述

突出扇形

参数:explode,值为一个和数据一一对应的列表,0 为不突出。

from matplotlib import pyplot as plt
value = [4400, 3000, 2400, 1800, 1400, 1000, 900]
plt.pie(value, explode=[0.1, 0, 0, 0, 0, 0, 0])
plt.show()

设置标题

plt.title()

from matplotlib import pyplot as plt
value = [4400, 3000, 2400, 1800, 1400, 1000, 900]
plt.pie(value)
plt.title()
plt.show()

请添加图片描述

修改颜色

参数:colors,值为一个与数据一一对应的列表。

from matplotlib import pyplot as plt
value = [4400, 3000, 2400, 1800, 1400, 1000, 900]
plt.pie(value, colors=['r', 'g', 'b', 'y', 'grey', 'lightblue', 'c'])
plt.show()

请添加图片描述

实践:绘制七大洲面积比例图

综合使用上述参数,绝对不难:

from matplotlib import pyplot as plt
plt.rcParams['font.family'] = 'Microsoft YaHei'  # 显示中文
value = [4400, 3000, 2400, 1800, 1400, 1000, 900]
name = ["亚洲", "非洲", "北美洲", "南美洲", "南极洲", "欧洲", "大洋洲"]
plt.pie(value, labels=name, autopct='%1.1f%%', startangle=90, counterclock=False, explode=[0.1, 0, 0, 0, 0, 0, 0])
plt.title('七大洲面积占比')
plt.show()


本文就到这里啦,如果对你有帮助的话,不妨点赞收藏!拜~ ( •̀ ω •́ )✧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值