Я пытаюсь понять интерактивные сюжеты в matplotlib (в Jupyter Notebook).
Вот фрагмент кода, и я хотел бы знать, почему это не работает.
import matplotlib.pyplot as plt
%matplotlib notebook
fig, ax = plt.subplots()
BarChart = ax.bar(df.index, df.mean(axis=1), color = 'black')
def on_click(event):
for Bar in BarChart:
Bar.set_color(color='red')
fig.canvas.mpl_connect('button_press_event', on_click)
plt.show()
Может кто-нибудь объяснить мне, почему это не обновляет цвет полос на красный и как это исправить?
Когда цикл for используется в статическом случае, т. Е. Без функций on_click и mpl_connect, он обновляет цвета полосы в исходном графике.
Мне было интересно, нужно ли мне выражение для явного обновления сюжета.