目录
- 简介
- 安装 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()
本文就到这里啦,如果对你有帮助的话,不妨点赞收藏!拜~ ( •̀ ω •́ )✧