【发布时间】:2019-10-12 16:12:18
【问题描述】:
使用 matplotlib,在 Jupyter 书籍上,我想用一些图制作一个图形,显示它,添加更多图,然后再次显示(旧图和新图)
相反,它只向我显示新的第二张图片上的新图
这是我的代码:
import numpy as np
%matplotlib inline
import matplotlib.pyplot as plt
a=np.random.rand(10,)
b=np.random.rand(10,)
fig1 = plt.figure(1)
plt.plot(a,'b')
#plt.draw();
plt.show();
plt.figure(1)
plt.plot(b,'g--')
plt.show();
左边是我拥有的,右边是我想要的:
上面的问题已经简化为最简单的形式,因此我可能没有解释我不想每次都重新创建图形(因为它有大约 15 行可以根据我的需要进行配置)
这是我不想要的代码示例:
import numpy as np
%matplotlib inline
import matplotlib.pyplot as plt
a=np.random.rand(10,)
b=np.random.rand(10,)
c=np.random.rand(10,)
plt.plot(a, 'b')
plt.grid(True)
dig, ax = plt.subplots(1)
ax.plot(a,'b')
ax.plot(b,'g--')
dig, bx = plt.subplots(1)
bx.plot(a,'b')
bx.plot(b,'g--')
bx.plot(c,'r.')
plt.show()
这是我期望的一种伪代码:
a=np.random.rand(10,)
b=np.random.rand(10,)
c=np.random.rand(10,)
my_plot = plt.figure()
my_plot.grid(True)
my_plot.addplot(a,'b')
my_plot.show()
my_plot.addplot(a,'g--')
my_plot.show()
my_plot.addplot(a,'r.')
my_plot.show()
(我知道,这不是 phyton/matplotlib,但我相信像这样优雅的东西应该是可能的)
【问题讨论】:
标签: python python-3.x jupyter-notebook