如何使用python3.4调试matplotlib,它可以在一个Windows 8上运行,但不能在另一个Windows 8上运行

时间:2014-09-23 11:56:32

标签: python windows-8 matplotlib python-3.4

在Windows 8.1和Linux Mint上使用Python3.4。

我有一个生成交互式matplotlib图的程序,使用.ion()调用来启用该行为。除此之外,它非常简单,实际上整个程序都在下面,只记下几个与数据相关的调用。

它适用于我的工作64位win8.1 i7x4 dell桌面。它适用于我的Mint17 32位AMD家用机器。它不适用于我的新工作64位win8.1 i3戴尔笔记本电脑。当我说它不起作用时,我的意思是GUI_inputs小部件被显示(所以tk和其他很多工作),可以编辑,将调试写入控制台,不生成任何错误消息,但matplotlib图形窗口没有出现,任务栏上没有窗口图标。在没有任何系统错误消息的情况下,如何找出丢失或配置错误的内容?

import tkinter as tki
import matplotlib.pyplot as plt
import GUI_input_widget as iw

class App(tki.Frame):
    def __init__(self, parent):
        tki.Frame.__init__(self, master=parent) # super calls do not appear to work with tk

        self.inputs = iw.GUI_inputs(self, 'inputs', execute=self.update)
        self.inputs.grid()
        self.inputs.add('gr', 'graph range', '0, 2500', iw.float_pair)
        # ... leave out a bunch of GUI_inputs stuff like the above
        # ...

        # create the graph
        plt.ion()
        self.fig = plt.figure(1)
        self.ax = self.fig.add_subplot(111)
        plt.draw()

    def update(self):
        f = self.inputs.get()        
        self.ax.clear()

        x = f['x_data']
        y = f['y_data']
        self.ax.plot(x,y)
        self.ax.annotate('annot {}'.format(f['x_data'][0]), xy=(f['x_data'][0], 1),
                        horizontalalignment='center', verticalalignment='bottom')            
        # ... leave out a bazillian low level graph calls like the above
        # ...

        # and finally reshow it
        self.ax.set_xlim(f['gr'][0], f['gr'][1] )
        self.ax.set_ylim(-8, 2)
        plt.draw()            

if __name__ == '__main__':

    root = tki.Tk()
    root.title('fancy user title')
    app = App(root)
    app.pack()

    root.mainloop()

0 个答案:

没有答案