首页 > 其他分享 >软件测试|教你用Matplotlib绘制多种饼图

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

时间:2023-03-05 11:37:57浏览次数:45  
标签:plt 0.1 教你用 labels matplotlib colors 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绘制多种饼图_饼状图

绘制分裂式饼图

分裂式饼图与非分裂式饼图的区别在于各块之间有间距,在使用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()

绘制图像如下:

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

绘制嵌套式饼图

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

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绘制多种饼图_饼状图_03

总结

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


标签:plt,0.1,教你用,labels,matplotlib,colors,Matplotlib,绘制,软件测试
From: https://blog.51cto.com/u_15640304/6101287

相关文章

  • 软件测试|一文带你入门Python图片处理神器Pillow
    前言情人节刚过,我还是单身,我想了一下原因,是我的拍照技能不行,也有我对女神表白的套路太过老的原因,我没有体现出身为程序猿的优势,虽然我们拍照不行,但是我们身为程序猿,可以改......
  • 软件测试之Docker常见问题汇总!附解决方法!
    1、配置国内源进行docker安装,报错HTTPError404-NotFound原因:由于配置国内镜像源时,把地址写错了,导致后面安装docker提示HTTPError404解决方法:1)进入到/etc/yum......
  • 软件测试分类
    1、按是否覆盖源代码进行分类1.1黑盒测试只考虑输入和输出,不考虑内部结构。1.2白盒测试看程序内部的逻辑是否正确,关注内部结构。1.3灰盒测试......
  • 为什么要进行软件测试需求分析?广东权威的软件测试公司有哪些?
    一、什么是软件测试需求分析?测试需求分析就是对测试过程的一个目标分析,了解软件应满足的用户需求点,需要解决测试什么问题和测试对象,每个测试对象需要测试的内容。......
  • 软件测试用例设计的基础概述
    1.测试用例的主要构成元素·测试用例的基本要素包括:测试用例编号、测试标题、重要级别、测试数据输入、操作步骤、预期结果,实际结果·测试用例是软件测试团......
  • 软件测试用例的八大要素有哪些?
    干软件测试也是很多人的青睐,那么测试用例的八大要素有哪些呢? 1:用例编号测试用例编号是由字母和数字组合而成的,用例的编号应该具有唯一性,易识别性,有利于其......
  • 等价类划分技术设计软件测试用例分析
    一、等价类划分技术的研究背景和定义1.1等价类划分技术的研究背景目前IT行业发展的如火如荼,软件测试也是风声水起,如何提高测试效率已经成为了当前软件测试......
  • 如何写出高质量的软件测试用例?
    第一步、明确测试范围有些需求是多个部门一起合作的,可能会有多个测试和你一起分工合作。你需要明确自己主要负责测试哪些地方,细化到功能模块。这个时候......
  • 设计软件测试用例的基本方法
    应用场景:有数据输入的地方,可以使用等价类划分的方法。从大量数据中挑选出少量代表性的数据进行测试。测试思想:从大量数据里划分范围,然后从每个范......
  • 第三方软件测试机构需要具备哪些资质?软件测评收费标准
    一、什么是第三方软件测试机构?第三方软件测试机构是区别与软件开发方与需求方的第三方检测机构,因为与软件产品本身无利益关系且有着丰富的测试经验,操作软件测试过......