1.2多窗口多子图

从理解原理入手,使用matplotlib绘制你想要的任何图形!
欢迎浏览我的专栏:https://blog.csdn.net/qq_40761869/article/category/9403564

# 使用matplotlib.pyplot绘制多幅图片
from matplotlib import pyplot
from numpy import *
# 有一篇总结得不错的博客,可以看看https://www.jianshu.com/p/cf18b69a6018

# 首先生成数据
x = [i/1000*2*pi for i in range(-500,1050)]
y1 = [cos(i) for i in x]
y2 = [cos(i)**2 for i in x]
y3 = [sin(i) for i in x]

# 然后在第一个对象中,也就是默认对象gcf中绘制三个子图,y1、y2显示在同一行,y3单独显示一行
# 两行两列的第一个
pyplot.subplot(2, 2, 1)
pyplot.plot(x, y1, label='cosine')
pyplot.legend(loc=1)
# 两行两列的第二个
pyplot.subplot(2, 2, 2)
pyplot.plot(x, y2, label='cosine square')
pyplot.legend(loc=1)
# 两行一列的第二个
pyplot.subplot(2, 1, 2)
pyplot.plot(x, y3, label='sine')
pyplot.legend(loc=1)

# 然后创建另一个figure对象,将y1、y2、y3分别列为一行进行显示
# 很重要的一点是,由于pyplot对gcf对象的各种操作(创建、配置、添加子图等等)进行了封装,所以容易让初学者混淆,不知道各种操作到底应该在哪里进行
# 具体可以参考这篇博客https://blog.csdn.net/dss_dssssd/article/details/84316975
# figure是窗口,窗口上可以有很多axes。绘图操作都是在axes上进行的,而非figure上
# 这一点将在下面的代码中进行阐述
pyplot_mine = pyplot.figure()
# 为figure窗口对象添加axes(也即subplot,两者是同一个东西)
# add_subplot是pyplot模块中被subplot操作封装起来的函数之一,基本操作还是add_subplot
ax = pyplot_mine.add_subplot(311)
# 在axes对象上进行绘图的参数配置
ax.plot(x, y1, label='cosine')
ax.legend(loc=1)
# 两行一列的第二个
ax = pyplot_mine.add_subplot(312)
ax.plot(x, y2, label='cosine square')
ax.legend(loc=1)
# 两行一列的第二个
ax = pyplot_mine.add_subplot(313)
ax.plot(x, y3, label='sine')
ax.legend(loc=1)

# 注意这个show函数并不属于任何figure对象,所以在这里我们应该调用pyplot的show函数,而非某一个对象的show方法
pyplot.show()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值