相关疑难解决方法(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万
查看次数

如何使用python的matplotlib重绘图像?

我想要做的事情看起来相当简单,但我有一段时间试图让它发挥作用.我只是尝试使用imshow绘制图像,然后在新数据到达时定期重新绘制它.

我从这开始:

fig = figure()
ax = plt.axes(xlim=(0,200),ylim=(0,200))
myimg = ax.imshow(zeros((200,200),float))
Run Code Online (Sandbox Code Playgroud)

然后我假设我可以像这样调用set_data来更新图像:

myimg.set_data(newdata)
Run Code Online (Sandbox Code Playgroud)

我尝试过许多其他的事情,比如我叫ax.imshow(newdata)代替或者我已经尝试使用figure.show()set_data().

python matplotlib imshow

10
推荐指数
1
解决办法
2万
查看次数

标签 统计

matplotlib ×2

python ×2

imshow ×1

tkinter ×1