看板 Python 關於我們 聯絡資訊
我在python的idle下使用matplotlib 當setup好一些參數與畫圖的變數後 使用.draw()時 並沒有任何反應(畫面上沒出圖) 然後使用.show() 有反應並畫出了圖 於是我將圖關掉 再次輸入一些參數想畫第二張圖 再使用.show() 圖表那張就當掉了 上網找了一下資料 似乎是因為一個執行程式只能有一個mainloop(也就是.show()) 所以會當掉 想請問有沒有辨法在一個執行程式下 畫好幾次圖(或是說 秀好幾次圖 但參數不同) 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.63.180
rexrainbow:http://tinyurl.com/nvfzbp 這個範例一次秀3張圖 09/02 19:26
一個show() "一次"秀3張圖
rexrainbow:http://tinyurl.com/lmjhft 在1張圖裡顯示2張子圖 09/02 19:28
一個show() "一次"秀1張圖裡面有二個子圖的 上面的都只看到一次畫圖( show()的時候 ) 有的畫多 有的畫少 但都是一次畫的
rexrainbow:axes.cla() 可以清除plot, 然後再畫一次, 09/02 19:32
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)
rexrainbow:因為我都是用wxPython做backend, 1張圖放在1個frame裡 09/03 10:28
rexrainbow:所以我只要每次多開1個frame, 就多1張獨立的圖 09/03 10:29
rexrainbow:tk也有backend支援-- http://tinyurl.com/klqxwo 09/03 10:46