在matplotlib中, 一张图像是一个Figure对象. 在Figure对象中可以包含一个或者多个Axes对象。每个Axes(ax)对象都是一个拥有自己坐标系统的绘图区域。我们可以通过subplot()函数(子图)在一个Figure上创建多个图像(Axes)
import numpy as np import pandas as pd from pandas import Series , DataFrame import matplotlib.pyplot as plt
x = np.linspace(0.0,5.0) y1 = np.sin(np.pi*x) y2 = np.sin(np.pi*x*2)
# subplot(2,1,1) 2行一列的第一个图 plt.subplot(2,1,1) plt.ylabel('y1 value') plt.plot(x, y1, 'b--') plt.subplot(2,1,2) plt.ylabel('y2 value') plt.plot(x, y2, 'r--') plt.xlabel('x value') plt.show()
# 子图位置可以进行简写 plt.subplot(221) plt.plot(x,y1,'b--') plt.subplot(222) plt.plot(x,y2,'r--') plt.subplot(223) plt.plot(x,y1,'b*') plt.subplot(224) plt.plot(x,y2,'y--') plt.show()
- 绘制子图的另外一种写法
# fig是画布, ax是数据 fig, ax = plt.subplots(2,2)