negro matrices graficos graficar color python animation matplotlib axes

python - matrices - la trama animada matplotlib no actualiza las etiquetas en el eje usando blit



graficar matrices en python (1)

Parece que las etiquetas están dibujadas pero el comando blit no las copia al lienzo porque el cuadro delimitador solo incluye la parte interna de los ejes.

Para mí, el cambio de update_line.background = canvas.copy_from_bbox(ax.bbox) a update_line.background = canvas.copy_from_bbox(ax.get_figure().bbox) y canvas.blit(ax.bbox) a canvas.blit(ax.clipbox) lo hizo funcionar.

Estoy trazando datos en un diagrama usando wxPython donde los límites de datos en el eje y están cambiando con los datos. Me gustaría cambiar el eje dinámicamente sin volver a dibujar todo el lienzo como canvas.draw() sino que me gustaría utilizar blitting para esto como lo hago para la trama en sí.

Lo que tengo que trabajar es el cambiante eje Y, y hago que los yticks se animen con la trama, desafortunadamente las etiquetas desaparecieron y no puedo encontrar la solución. El motivo es establecer la configuración get_yaxis().set_animated(True) para el eje.

Puse un pequeño ejemplo de trabajo en lo siguiente. ¿Que me estoy perdiendo aqui?

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()

Básicamente, estoy buscando algo como get_ylabels().set_animated(True) pero no puedo encontrarlo.