开始讲今天的内容之前,先说一点题外话。上学的时候地理课上会画一些等高图、小地图之类的,那时候小编就对地理产生了浓厚的兴趣,不过最后因为种种原因还是没有选择继续学习地理方面的知识了。接触了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画地理图片的小方法,小伙伴们也可以自行探索。希望今天的内容能对大家有所帮助~