का उपयोग कर अक्ष पर लेबल अपडेट नहीं करेगा I wxPython का उपयोग करके एक प्लॉट में डेटा प्लॉट कर रहा है जहां वाई-अक्ष पर डेटा सीमा डेटा के साथ बदल रही है। मैं canvas.draw()
जैसे पूरे कैनवास को दोबारा बिना किसी गति के अक्ष को गतिशील रूप से बदलना चाहता हूं, इसके बजाय मैं blitting
का उपयोग करना चाहता हूं क्योंकि मैं साजिश के लिए स्वयं करता हूं।matplotlib एनिमेटेड प्लॉट धुरी
मुझे जो काम करना है वह बदलना वाई-अक्ष है, और मुझे साजिश के साथ एनिमेटेड yticks मिलते हैं, दुर्भाग्यवश ylabels चले गए हैं और मुझे समाधान नहीं मिल रहा है। कारण अक्ष के लिए get_yaxis().set_animated(True)
सेटिंग सेट कर रहा है।
मैंने निम्नलिखित में एक छोटा सा उदाहरण दिया है। मुझे यहां क्या याद आ रही है?
import matplotlib
matplotlib.use('WXAgg')
import wx
import pylab as p
import numpy as npy
from time import sleep
ax = p.subplot(111)
canvas = ax.figure.canvas
x = npy.arange(0,2*npy.pi,0.01)
line, = p.plot(x, npy.sin(x), animated=True)
ax.get_yaxis().set_animated(True)
def update_line(*args):
if update_line.background is None:
update_line.background = canvas.copy_from_bbox(ax.bbox)
for i in range(20):
canvas.restore_region(update_line.background)
line.set_ydata((i/10.0)*npy.sin(x))
ax.set_ylim(-1*i/5.0-0.5,i/5.0+0.5)
ax.draw_artist(ax.get_yaxis())
ax.draw_artist(line)
canvas.blit(ax.bbox)
sleep(0.1)
print 'end'
update_line.cnt = 0
update_line.background = None
wx.EVT_IDLE(wx.GetApp(), update_line)
p.show()
मूल रूप से मैं get_ylabels().set_animated(True)
की तरह कुछ के लिए देख रहा हूँ, लेकिन मैं इसे खोजने नहीं कर सकते।
इसका उत्तर देने के लिए धन्यवाद, वास्तव में यह मेरे लिए भी काम करता है, यह बहुत अच्छा है! – Merlin
यह बहुत उपयोगी था! इस उत्तर को सबमिट करने के लिए धन्यवाद। यक्सिस और टिक-लेबल्स को एनिमेट करना अचानक स्पष्ट हो गया। – achennu
मुझे पता है कि यह एक पुराना धागा है, लेकिन 'ax.clipbox' मुझे कोई नहीं देता है इसलिए यह विफल हो जाता है। कोई विचार? –