2014-12-04 38 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