Mam dziwny błąd, którego nie mogę naprawić bez twojej pomocy. Po ustawieniu obrazu z imshow
w matplotlib pozostaje on cały czas taki sam, nawet jeśli zmieniam go za pomocą metody set_data
. Wystarczy spojrzeć na ten przykład:Matplotlib: brak efektu set_data w imshow dla działki
import numpy as np
from matplotlib import pyplot as plt
def newevent(event):
haha[1,1] += 1
img.set_data(haha)
print img.get_array() # the data is change at this point
plt.draw()
haha = np.zeros((2,2))
img = plt.imshow(haha)
print img.get_array() # [[0,0],[0,0]]
plt.connect('button_press_event', newevent)
plt.show()
Po wykreślić go, metoda set_data
niczego nie zmieni wewnątrz działki. Czy ktoś może mi wyjaśnić, dlaczego?
EDIT
Wystarczy dodaje kilka linii, aby podkreślić to, co rzeczywiście chcesz zrobić. Chcę przerysować dane po naciśnięciu przycisku myszy. Nie chcę usunąć całej liczby, bo byłoby głupio, gdyby tylko jedna rzecz się zmieniła.
Tylko jeden brzeg miałby inny kolor. – ahelm
Gdzie nazywasz 'newevent'? – Levon
Przepraszam. zapomniałem go skopiować. – ahelm