मैं यहाँ आंकड़ा redrawing के साथ मुद्दों कर रहा हूँ। मैं उपयोगकर्ता को समय स्केल (एक्स-अक्ष) में इकाइयों को निर्दिष्ट करने की अनुमति देता हूं और फिर मैं इस फ़ंक्शन को पुनर्गणना और कॉल करता हूं 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)