软件测试|教你用Matplotlib绘制多种饼图

简介: 软件测试|教你用Matplotlib绘制多种饼图

前言

之前我们介绍了使用matplotlib绘制柱状图等图像,这篇文章我们将介绍使用matplotlib绘制饼状图,并且我们将介绍使用matplotlib绘制不同类型的饼图,下面我们直接开始绘制。

绘制非分裂式饼状图

饼状图是我们使用最多的数据分析图形之一,matplotlib可以很简便地绘制饼状图,直接调用pie()方法即可,代码如下:

import matplotlib as mpl
import matplotlib.pyplot as plt

# 老规矩,防止乱码
mpl.rcParams["font.sans-serif"] = ["SimHei"]
mpl.rcParams["axes.unicode_minus"] = False

labels = "入门级轿车","中级轿车","高级轿车","豪华轿车","超豪华轿车"
percent = [0.40,0.30,0.20,0.08,0.02]

colors = ["b","g","r","c","m"]

# 绘制图形
plt.pie(percent,
        labels = labels,
        autopct="%3.1f%%",
        startangle=45,
        pctdistance=0.7,
        labeldistance=1.2,
        colors=colors)

plt.title("不同级别汽车销量占比")

plt.show()

绘制的图像如下:

在这里插入图片描述

绘制分裂式饼图

分裂式饼图与非分裂式饼图的区别在于各块之间有间距,在使用matplotlib绘制分裂式饼图时,我们只需要加上explode参数即可,代码如下:

import matplotlib as mpl
import matplotlib.pyplot as plt

# 老规矩,防止乱码
mpl.rcParams["font.sans-serif"] = ["SimHei"]
mpl.rcParams["axes.unicode_minus"] = False

labels = "入门级轿车","中级轿车","高级轿车","豪华轿车","超豪华轿车"
percent = [0.40,0.30,0.20,0.08,0.02]

colors = ["b","g","r","c","m"]
explode = (0.1,0.1,0.1,0.1,0.1)

# 绘制图形
plt.pie(percent,explode=explode,
        labels = labels,
        autopct="%3.1f%%",
        startangle=45,
        pctdistance=0.7,
        labeldistance=1.2,
        colors=colors)

plt.title("不同级别汽车销量占比")

plt.show()

绘制图像如下:

在这里插入图片描述

绘制嵌套式饼图

有时候我们需要对饼图进行更进一步的细分,以我们现在的不同级别汽车销量占比为例,我们可以进一步分析,不同级别汽车销量中,日系德系国产等系列占比多少,这样的情况,我们就可以使用嵌套式的饼图来进行分析了,绘制嵌套式饼图的代码如下:

import matplotlib.pyplot as plt
import matplotlib as mpl

mpl.rcParams["font.sans-serif"] = ["SimHei"]
mpl.rcParams["axes.unicode_minus"] = False

fig=plt.figure(figsize=(10,10),dpi=120)

#数据集,p1, p2分别对应外部、内部百分⽐例

p1 = [40,30,20,8,2]
p2 = [10,40,20,30,30,30,20,20,80,4,6,12,90,2,2,6]

labels = "入门级轿车","中级轿车","高级轿车","豪华轿车","超豪华轿车"

def func(pct):
    return r'%0.1f'%(pct) + '%'

plt.pie(p1,
        autopct=lambda pct: func(pct),
        radius=1, # 半径
        pctdistance=0.85, # 百分⽐位置
        wedgeprops=dict(linewidth=3,width=0.4,edgecolor='w'),# 饼图格式:间隔线宽、饼图宽度、边界颜⾊
        labels=labels)

# 绘制内部饼图
plt.pie(p2,
        autopct='%0.1f%%',
        radius=0.7,
        pctdistance=0.7,
        wedgeprops=dict(linewidth=3,width=0.7,edgecolor='w'))

# 设置图例标题、位置,frameon控制是否显示图例边框,bbox_to_anchor控制图例显示在饼图的外⾯
plt.legend(labels,loc = 'upper right',bbox_to_anchor = (0.75,0,0.4,1),title ='汽车销量占比')
plt.show()

绘制的图像如下:

在这里插入图片描述

总结

本文主要讲解了使用matplotlib绘制饼状图的方法,分别讲述了非分裂式饼图,分裂式饼图以及嵌套式饼图的绘制方法,希望能够帮助到大家,关于饼状图绘制的方法,我们就介绍到这里。

相关文章
|
数据可视化 Python
【100天精通Python】Day62:Python可视化_Matplotlib绘图基础,绘制折线图、散点图、柱状图、直方图和饼图,以及自定义图标外观和功能,示例+代码
【100天精通Python】Day62:Python可视化_Matplotlib绘图基础,绘制折线图、散点图、柱状图、直方图和饼图,以及自定义图标外观和功能,示例+代码
234 0
|
数据库 Python
matplotlib绘制饼图之基本配置——万能模板案例
matplotlib绘制饼图之基本配置——万能模板案例
475 0
matplotlib绘制饼图之基本配置——万能模板案例
|
2月前
|
数据可视化 Python
Matplotlib 教程 之 Matplotlib 饼图 5
使用 Matplotlib 的 `pie()` 方法绘制饼图,通过参数设置(如颜色、标签和比例等),轻松展示各类别占比。示例代码展示了如何创建一个具有突出部分的彩色饼图并显示百分比。`pie()` 方法支持多种参数定制,包括阴影、旋转角度及文本属性等。
52 3
|
2月前
|
数据可视化 Python
Matplotlib 教程 之 Matplotlib 饼图 4
使用 Matplotlib 的 `pie()` 方法绘制饼图,展示各部分占比。`pie()` 方法可通过多个参数定制图表样式,如颜色、标签和百分比显示格式等。通过实例演示了如何突出显示特定扇区并格式化百分比输出。
30 4
|
2月前
|
搜索推荐 Python
Matplotlib饼图实例
Matplotlib饼图实例
30 4
|
2月前
|
数据可视化 Python
Matplotlib 教程 之 Matplotlib 饼图 1
使用 Matplotlib 库中的 `pyplot` 模块 `pie()` 方法来绘制饼图,并详细解释了 `pie()` 方法的参数,包括数据输入 `x`、扇区间距 `explode`、标签 `labels`、颜色 `colors`、百分比格式 `autopct`、标签距离 `labeldistance`、阴影 `shadow`、半径 `radius`、起始角度 `startangle`、逆时针方向 `counterclock`、扇形属性 `wedgeprops`、文本标签属性 `textprops`、饼图中心位置 `center`
34 1
|
测试技术 BI Python
软件测试|Python绘图神器matplotlib教程(三)
软件测试|Python绘图神器matplotlib教程(三)
软件测试|Python绘图神器matplotlib教程(三)
|
数据挖掘 测试技术 Python