您的当前位置:首页正文

python中如何用subplot画多个子图?

2024-07-16 来源:一二三四网

开始讲今天的内容之前,先说一点题外话。上学的时候地理课上会画一些等高图、小地图之类的,那时候小编就对地理产生了浓厚的兴趣,不过最后因为种种原因还是没有选择继续学习地理方面的知识了。接触了python之后,发现可以用来画地理中的一些图片,就真是振奋人心的好消息。在我们今天画子图的内容中,也会提到卫星弧段图。感兴趣的小伙伴我们一起来看看吧。

Python可通过subplot函数画多个子图。调用形式如:subplot(nrows,ncols,index),图表的整个绘图区域被分成nrows行和ncols列,按照从左到右,从上到下的顺序对每个子区域进行编号,左上的子区域编号为1。index参数指定创建的Axes对象所在的区域。

 matplotlib官网上的一个2*2多子图例子如下所示:

import matplotlib.pyplot as plt
import numpy as np
 
# Some example data to display
x = np.linspace(0, 2 * np.pi, 400)
y = np.sin(x ** 2)
 
fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2)
fig.suptitle('Sharing x per column, y per row')
ax1.plot(x, y)
ax2.plot(x, y**2, 'tab:orange')
ax3.plot(x, -y, 'tab:green')
ax4.plot(x, -y**2, 'tab:red')
 
for ax in fig.get_axes():
ax.label_outer()


比如要将卫星弧段图和SNR图两个图按照上下顺序放置于同一张图时,可采用如下方式:

import matplotlib.pyplot as plt
 
plt.figure()
plt.subplot(211)
plt.plot(t1, Satarc)
 
plt.subplot(212)
plt.plot(t2, SNR)


以上就是python中用subplot画多个子图的方法,同时我们也可以把把它们画在一个图中。更多有趣用python画地理图片的小方法,小伙伴们也可以自行探索。希望今天的内容能对大家有所帮助~

显示全文