相关疑难解决方法(0)

如何在matplotlib中更新图?

我在这里重新绘制数字时遇到问题.我允许用户在时间刻度(x轴)中指定单位,然后重新计算并调用此函数plots().我希望情节简单地更新,而不是在图中附加另一个情节.

def plots():
    global vlgaBuffSorted
    cntr()

    result = collections.defaultdict(list)
    for d in vlgaBuffSorted:
        result[d['event']].append(d)

    result_list = result.values()

    f = Figure()
    graph1 = f.add_subplot(211)
    graph2 = f.add_subplot(212,sharex=graph1)

    for item in result_list:
        tL = []
        vgsL = []
        vdsL = []
        isubL = []
        for dict in item:
            tL.append(dict['time'])
            vgsL.append(dict['vgs'])
            vdsL.append(dict['vds'])
            isubL.append(dict['isub'])
        graph1.plot(tL,vdsL,'bo',label='a')
        graph1.plot(tL,vgsL,'rp',label='b')
        graph2.plot(tL,isubL,'b-',label='c')

    plotCanvas = FigureCanvasTkAgg(f, pltFrame)
    toolbar = NavigationToolbar2TkAgg(plotCanvas, pltFrame)
    toolbar.pack(side=BOTTOM)
    plotCanvas.get_tk_widget().pack(side=TOP)
Run Code Online (Sandbox Code Playgroud)

python tkinter matplotlib

133
推荐指数
6
解决办法
30万
查看次数

Matplotlib动画在PyCharm中不起作用

我发现了各种使用matplotlib生成动画的短文件.通常,它们在从命令行运行时工作正常,但在PyCharm中我只得到一个静止帧.

我问同样的问题,因为Matplotlib在IDE(PyCharm)中使用时不会更新绘图.那里有一个答案,这似乎适用于原始的提问者.当我从命令行运行该代码时,它工作正常.从PyCharm开始,它会暂停很长时间(大概是运行动画),然后显示一个静止帧(看起来像是动画的开头或结尾).

我在Mac(OS 10.11.6)上通过PyCharm 2017.3.2(专业版)运行Python 3.6.2(Anaconda).我在PyCharm中创建了一个Python项目,将该代码粘贴到.py文件中,安装了相应的库(matplotlib 2.0.2,numpy 1.13.1),然后运行该程序.

我在命令行和我在命令行上做的事情之间唯一的区别就是python --version给出了:

Python 3.6.0 :: Anaconda custom (x86_64)
Run Code Online (Sandbox Code Playgroud)

还有什么可能是问题?

python animation matplotlib

8
推荐指数
2
解决办法
1902
查看次数

标签 统计

matplotlib ×2

python ×2

animation ×1

tkinter ×1