多图形
运行结果为:
代码如下:
# 多图形
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.gridspec import GridSpec # 画非对称子图
'''
# ========一个窗口:对称子图======================
t1 = np.arange(0.1, 5.0, 0.1)
t2 = np.arange(0.01, 5.0, 0.02)
plt.subplot(211) # 211表示行列数量
plt.plot(t1, np.exp(-t1) * np.cos(2 * np.pi * t1), 'bo',
t2, np.exp(-t2) * np.cos(2 * np.pi * t2), 'k')
plt.subplot(212)
plt.plot(t2, np.cos(2*np.pi*t2), 'r--')
plt.show()
# =========多个窗口+多图形======================
plt.figure(1) # 表示多个窗口的第1个
plt.subplot(211)
plt.title('Easv as 1.2.3')
plt.plot([1, 2, 3])
plt.subplot(212)
plt.plot([4, 5, 6])
plt.subplot(212)
plt.figure(2)
plt.plot([4, 5, 6])
plt.show()
'''
# =========一个窗口:非对称子图======================
plt.figure(1)
# 定义不对称子图位置
ax1 = plt.subplot2grid((2, 2), (0, 0), colspan=2)
ax2 = plt.subplot2grid((2, 2), (1, 0))
ax3 = plt.subplot2grid((2, 2), (1, 1))
# 定义中文显示
plt.rcParams['font.sans-serif'] = ['Arial Unicode MS']
# 定义函数
x = np.linspace(-np.pi, np.pi, 64)
y1 = np.sin(x) # 正弦
y2 = np.cos(x) # 余弦
y3 = np.tan(x) # 正切
ax1.plot(x, y3)
ax1.spines['top'].set_color('none') # 设置top坐标框不显示
ax1.spines['right'].set_color('none') # 设置right坐标框不显示
ax1.spines['bottom'].set_position(('data', 0)) # 设置x轴位置居中
ax1.spines['left'].set_position(('data', 0)) # 设置y轴位置居中
ax1.set_title('正切曲线') # 设置名称居中
ax2.plot(x, y1)
ax2.spines['top'].set_color('none')
ax2.spines['right'].set_color('none')
ax2.spines['bottom'].set_position(('data', 0))
ax2.spines['left'].set_position(('data', 0))
ax2.set_title('正弦曲线')
ax3.plot(x, y2)
ax3.spines['top'].set_color('none')
ax3.spines['right'].set_color('none')
ax3.spines['bottom'].set_position(('data', 0))
ax3.spines['left'].set_position(('data', 0))
ax3.set_title('余弦曲线')
plt.show()