Ich schrieb den folgenden Code, ich möchte, dass wenn ich den Schieberegler bewegen, der Text in der Figur entsprechend geändert, was bedeutet, den vorherigen Text zu entfernen, und die neuen gelesenen Werte aus einer Textliste und in der Lage sein, dies vor und zurück zu tun. Nach einer Bewegung auf dem Schieberegler werden die Texte jedoch überlagert und nicht entfernt. Ich brauche Hilfe zu diesem Problem, wie kann ich den gezeichneten Text ändern, während ich den Schieberegler bewege? Beachten Sie, dass sich die Farben der gezeichneten Quadrate problemlos ihren Werten entsprechend ändern.Python - Text in Figur Plot mit Schieberegler ändern
from matplotlib import pyplot
from matplotlib.widgets import Slider
import matplotlib.pyplot as plt
import numpy as np
a = np.random.randint(10, size = 4)
b = np.random.randint(10, size = 4)
c = np.random.randint(10, size = 4)
d = np.random.randint(10, size = 4)
grid = ((a,b),(c,d))
grid = np.array(grid)
fig = plt.figure(figsize=(7,5))
ax = fig.add_subplot(111)
subplots_adjust(left=0.15, bottom=0.25)
words = ['Sample1', 'Sample2']
data_start = 0.5
dataSlider_ax = fig.add_axes([0.15, 0.1, 0.7, 0.05])
dataSlider = Slider(dataSlider_ax, 'value', 0, 1, valinit=data_start)
def update(val):
ref = int(dataSlider.val)
print (ref)
ax.imshow(grid[ref], interpolation ='none', aspect = 'auto')
for (j,i),label in np.ndenumerate(grid[ref]):
text = ax.text(i,j,words[ref])
# I uncomment the following line, in case I wanted to plot the values of the arrays
# text = ax.text(i,j,grid[ref][j][i])
dataSlider.on_changed(update)
pyplot.show()
Sie wird auf die Text Glyphen zu halten und sie entfernen, wenn das Überschreiben. https://stackoverflow.com/a/26006851/1562285 –