作者KSJ (阿真)
看板Python
标题[问题] matplotlib 该如何重画并秀图?
时间Wed Sep 2 18:20:03 2009
我在python的idle下使用matplotlib
当setup好一些参数与画图的变数後
使用.draw()时 并没有任何反应(画面上没出图)
然後使用.show() 有反应并画出了图
於是我将图关掉
再次输入一些参数想画第二张图
再使用.show() 图表那张就当掉了
上网找了一下资料 似乎是因为一个执行程式只能有一个mainloop(也就是.show())
所以会当掉
想请问有没有辨法在一个执行程式下 画好几次图(或是说 秀好几次图 但参数不同)
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.63.180
一个show() "一次"秀3张图
一个show() "一次"秀1张图里面有二个子图的
上面的都只看到一次画图( show()的时候 ) 有的画多 有的画少 但都是一次画的
3F:→ rexrainbow:axes.cla() 可以清除plot, 然後再画一次, 09/02 19:32
4F:→ rexrainbow:FigureCanvas.draw() 显示. 以上是用wxPython为backend 09/02 19:33
应该是这个了 draw() 可以秀图 cla可以清除图上的plot
不过不是很了解
以下是我的测试
from matplotlib import pyplot as plt
plt.plot([1,2,3])
#应该有图画好了 只是没有显示出来
#我该如何请它现在就秀出来了??
#我使用plt.draw() 但是没有任何反应
#於是我再用
plt.show()
#画出一张图了
#之後python的idle 就在等那张图的指令 没辨法再输入其他的指令
#我关掉那张图 再输入
plt.plot([4,5,6])
plt.show() #理论上不该再输入一次show()
#所以程式就当掉了
#我是希望能看到画第一张图 把他关掉後 同一个程式仍能再画出第二张 (画了"二次")
#是不是我有哪边观念有问题??
不过这样的问题在qgis下的plugin(base on pyqt4)
由signal slot使用就没有问题(可以show()很多次)
不知道是为什麽...
※ 编辑: KSJ 来自: 140.112.63.180 (09/02 23:37)
5F:→ rexrainbow:因为我都是用wxPython做backend, 1张图放在1个frame里 09/03 10:28
6F:→ rexrainbow:所以我只要每次多开1个frame, 就多1张独立的图 09/03 10:29