2014-12-04 47 views
2

我對Python很新,我試圖調試同時使用TKinter和MatPlotLib的代碼。最初,我使用Python 2.6.2和MatPlotLib 1.0.1。我最近用MatPlotLib 1.4.2更新到了Python 2.7 ......這是一個顛簸,顛簸的遊戲。Matplotlib 1.0.1到1.4.2

這裏是我的代碼,它是在其中示出的曲線圖的圖形接口是基於由用戶給定的參數更新的一部分:

## -- Algorithm is over, graph the results: 
self.graph = Figure() 
self.curve = self.graph.add_subplot(111, animated = TRUE, aspect = self.aspectRatio) 
self.curve.set_title(translate['my figure']) 
self.curve.set_xlabel(translate['xlabel']) 
self.curve.set_ylabel(translate['ylabel']) 
self.canvas = FigureCanvasTkAgg(self.graph, master = self.leftFrame) 
self.canvas.show() 
self.canvas.get_tk_widget().pack(pady=15) 
self.toolbar = NavigationToolbar2TkAgg(self.canvas, self.leftFrame)  
self.toolbar.update()         
self.canvas._tkcanvas.pack() 
self.inputBox[1][1].focus_set() 

更新到Python 2.7我基本上後再看圖形界面什麼都沒有,沒有圖形繪製。令我驚訝的是,絕對沒有錯誤信息。

因此,我認爲可能會有一些修改,以實際繪製或顯示從MatPlotLib 1.0.1到1.4.2的圖形。有什麼顯而易見的,我在這裏失蹤?任何人都可以對MatPlotLib中可能導致此問題的更改有所瞭解嗎?

我希望我能更具體,但沒有錯誤消息使得它非常難以調試......


我一直invetigating這個問題,並發現了這個問題似乎從去MatPlotLib 1.0.1MatPlotLib 1.1.1它縮小了我對發行說明(MatPlotLib, what is new in 1.1)的掃描,以便了解發生了什麼。

回答

1

問題是你有「動畫」設置爲真實的,你實際上沒有做動畫(至少不是從你已經顯示)。如果你想要做一個動畫here就是一個例子更改

self.curve = self.graph.add_subplot(111, animated = TRUE, aspect = self.aspectRatio) 

self.curve = self.graph.add_subplot(111, aspect = self.aspectRatio) 

+0

謝謝!它確實有效!所以我假設問題是「1.0動畫= TRUE」的這種「誤用」在1.0.1中被接受,但在新版本中沒有被接受...... – Alain 2014-12-10 15:00:20

+0

我不知道它爲什麼在1.0.1中工作,但不需要使用它如果你對動畫沒有興趣。 – tnknepp 2014-12-10 17:08:12