我想绘制数据,然后创建一个新的图形并绘制 data2,最后回到原来的 plot 并绘制 data3,有点像这样:
import numpy as np import matplotlib as plt x = arange(5) y = np.exp(5) plt.figure() plt.plot(x, y) z = np.sin(x) plt.figure() plt.plot(x, z) w = np.cos(x) plt.figure("""first figure""") # Here's the part I need plt.plot(x, w)
仅供参考我如何告诉 matplotlib 我已经完成了一个情节?做类似的事情,但不完全是!它不允许我访问那个原始情节。
如果您发现自己经常做这样的事情,那么可能值得研究 matplotlib 的面向对象接口。在你的情况下:
import matplotlib.pyplot as plt import numpy as np x = np.arange(5) y = np.exp(x) fig1, ax1 = plt.subplots() ax1.plot(x, y) ax1.set_title("Axis 1 title") ax1.set_xlabel("X-label for axis 1") z = np.sin(x) fig2, (ax2, ax3) = plt.subplots(nrows=2, ncols=1) # two axes on figure ax2.plot(x, z) ax3.plot(x, -z) w = np.cos(x) ax1.plot(x, w) # can continue plotting on the first axis
它有点冗长,但更清晰,更容易跟踪,特别是有几个数字,每个数字都有多个子图。