Matplotlib绘制子图的方式有哪些?
Admin 2021-08-28 群英技术资讯 1518 次浏览
这篇文章主要介绍Matplotlib绘制子图的方式,常用的方式有通过plt的subplot、通过figure的add_subplot和通过plt的subplots,下面我们就来看看怎样绘制子图吧,感兴趣的朋友可以参考。
Matplotlib的可以把很多张图画到一个显示界面,在作对比分析的时候非常有用。
对应的有plt的subplot和figure的add_subplo的方法,参数可以是一个三位数字(例如111),也可以是一个数组(例如[1,1,1]),3个数字分别代表
更多详情可以查看:matplotlib文档
下面贴出两种绘子图的代码
方式一:通过plt的subplot
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# author: chenqionghe
# 画第1个图:折线图
x=np.arange(1,100)
plt.subplot(221)
plt.plot(x,x*x)
# 画第2个图:散点图
plt.subplot(222)
plt.scatter(np.arange(0,10), np.random.rand(10))
# 画第3个图:饼图
plt.subplot(223)
plt.pie(x=[15,30,45,10],labels=list('ABCD'),autopct='%.0f',explode=[0,0.05,0,0])
# 画第4个图:条形图
plt.subplot(224)
plt.bar([20,10,30,25,15],[25,15,35,30,20],color='b')
plt.show()
方式二:通过figure的add_subplot
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# author: chenqionghe
fig=plt.figure()
# 画第1个图:折线图
x=np.arange(1,100)
ax1=fig.add_subplot(221)
ax1.plot(x,x*x)
# 画第2个图:散点图
ax2=fig.add_subplot(222)
ax2.scatter(np.arange(0,10), np.random.rand(10))
# 画第3个图:饼图
ax3=fig.add_subplot(223)
ax3.pie(x=[15,30,45,10],labels=list('ABCD'),autopct='%.0f',explode=[0,0.05,0,0])
# 画第4个图:条形图
ax4=fig.add_subplot(224)
ax4.bar([20,10,30,25,15],[25,15,35,30,20],color='b')
plt.show()
方式三:通过plt的subplots
subplots返回的值的类型为元组,其中包含两个元素:第一个为一个画布,第二个是子图
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# author: chenqionghe
fig,subs=plt.subplots(2,2)
# 画第1个图:折线图
x=np.arange(1,100)
subs[0][0].plot(x,x*x)
# 画第2个图:散点图
subs[0][1].scatter(np.arange(0,10), np.random.rand(10))
# 画第3个图:饼图
subs[1][0].pie(x=[15,30,45,10],labels=list('ABCD'),autopct='%.0f',explode=[0,0.05,0,0])
# 画第4个图:条形图
subs[1][1].bar([20,10,30,25,15],[25,15,35,30,20],color='b')
plt.show()
运行结果如下

就是这么简单,
前面的两个图占了221和222的位置,如果想在下面只放一个图,得把前两个当成一列,即2行1列第2个位置
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# author: chenqionghe
# 画第1个图:折线图
x=np.arange(1,100)
plt.subplot(221)
plt.plot(x,x*x)
# 画第2个图:散点图
plt.subplot(222)
plt.scatter(np.arange(0,10), np.random.rand(10))
# 画第3个图:饼图
plt.subplot(223)
plt.pie(x=[15,30,45,10],labels=list('ABCD'),autopct='%.0f',explode=[0,0.05,0,0])
# 画第3个图:条形图
# 前面的两个图占了221和222的位置,如果想在下面只放一个图,得把前两个当成一列,即2行1列第2个位置
plt.subplot(212)
plt.bar([20,10,30,25,15],[25,15,35,30,20],color='b')
plt.show()
运行结果如下

以上就是关于Matplotlib绘制子图的三种方式介绍,希望本文对大家学习Matplotlib绘制子图有帮助,想要了解更多Matplotlib绘制图像的内容,大家可以继续关注其他相关文章。
文本转载自脚本之家
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要和大家分享一个非常有趣的Python教程—如何美化一个 matplotlib折线图。文中的示例代码讲解详细,感兴趣的可以了解一下
Python内置函数-dict()函数。dict() 函数用于创建一个字典。
今天我们将用Python来创建一个属于自己的音乐播放器。为此,我们将使用三个软件包,在这里我们将看到创建音乐播放器的每个步骤,我们将代码分为四个部分。
这篇文章主要个大家分享的是Python常见异常类型处理,编写程序的过程,难免会遇到一些错误,程序逻辑又或者运行与系统发生各种冲突等等,下面我们就来看看那些我们在编程中常遇到的异常都是怎么处理的吧,需要的小伙伴可以参考一下
这篇文章主要介绍了python time模块 时间戳 与 结构化时间的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008