Я сделал гистограмму с разными цветами, и она отлично работает.Однако, когда я пытаюсь сделать из этого анимацию, она ведет себя странно.Например, если я продолжу изменять размеры окна, я могу видеть изменения в анимации, но если я не изменю размеры окна анимации, оно не будет обновляться и обновляться.Я проверил значения и цвета для каждой итерации, и все они верны.Не могли бы вы помочь мне разобраться в проблеме? Извините, если это кажется поверхностным вопросом,
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import statistics as st
import matplotlib.animation as animation
color=['firebrick','firebrick','firebrick','firebrick']
a=[1400,1420,1440,1460]
b=[1000,5000,10000,5000]
y=1000
for i in [0,1,2,3]:
if y<b[i]:
color[i]='firebrick'
if y>b[i]:
color[i]='Blue'
def update(curr):
a=[1400,1420,1440,1460]
b=[1000,5000,10000,5000]
global color,y
# check if animation is at the last frame
if y > 10000:
a.event_source.stop()
plt.cla()
y=y+100
print(y)
for i in [0,1,2,3]:
if y<b[i]:
color[i]='firebrick'
if y>b[i]:
color[i]='Blue'
print(color)
plt.axis()
plt.gca().bar(a,b, align='center',color=color, capsize=10)
plt.gca().hlines(y, xmin=1400,xmax=1460, color='b')
fig = plt.figure()
%matplotlib qt
a = animation.FuncAnimation(fig, update, interval=1000)