在Jupyter书上,使用matplotlib,我想制作一个包含一些图的图,显示它,添加更多图,然后再次显示它(旧图和新图)
相反,它只显示新的第二张图片上的新图
这是我的代码:
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,但是我敢肯定,像这样的优雅方法应该可以实现)
答案 0 :(得分:0)