Python - axes和plt.figure()

时间:2014-03-24 14:28:46

标签: python numpy matplotlib

有人可以查看这段代码吗?我必须做3个窦轴样本。

import matplotlib.pyplot as plt
import numpy as np

t = np.arange(0.0, 2.0, 0.01)
fig = plt.figure()

ax1 = fig.add_subplot(311)
y1 = np.sin(2*np.pi*t)
ax1.plot(t, y1);
ax1.grid(True)
ax1.set_ylabel('1 Hz');

ax2 = fig.add_subplot(312)
y2 = np.sin(4*np.pi*t)
ax2.plot(t, y2);
ax2.grid(True)
ax2.set_ylabel('4 Hz');

ax3 = fig.add_subplot(313)
y3 = np.sin(6*np.pi*t)
ax3.plot(t, y3);
ax3.grid(True)
ax3.set_ylabel('6 Hz');

plt.show()

有人能说我为什么这段代码什么都不做?我只看到"图1"这就是全部。

1 个答案:

答案 0 :(得分:0)

尝试在fig.canvas.draw()之前添加plt.show()

传统上fig.canvas.draw()执行实际绘图,plt.show()进入交互式事件循环。使用IPython或交互式解释器时,ion()ioff()会在每个命令后切换更新。

你的代码在我的计算机上做了它应该做的事情(Debian不稳定) - 可能是这个行为随着更新的Matplotlib-Versions而改变。