Próbuję utworzyć animowany histogram z mojego kodu poniżej. Mogę tworzyć indywidualne histogramy za każdym razem jednak nie mogę uzyskać animacji wyników za pomocą funkcji matplotlib.animation
lub emulacji kodu w matplotlib tutorial.Animowany histogram Matplotlib
import numpy as np
import matplotlib.pyplot as plt
betas = [] # some very long list
entropy = [] # some very long list
for time in [0.0, 0.5, 1.0, 1.5, 2.0, 2.5, 3.0 , 3.5, 4.0, 4.5 5.0, 5.5, 6.0, 6.5 , 7.0, 7.5, 8.0 , 8,5 , 9.0, 9.5 , 10.0]:
plt.figure('entropy distribution at time %s ' % time)
indexbetas = {i for i, j in enumerate(betas) if j == time}
desiredentropies = [x for i, x in enumerate(entropy) if i in indexbetas] #the desiredentropies list depends on time
n, bins, patches = plt.hist(desiredentropies, 20, alpha=0.75 , label = 'desired entropies')
plt.xlabel(r"$S_{(\time=%d)}$" % time, fontsize=20)
plt.ylabel('Frequency of entropies')
plt.legend()
plt.grid(True)
plt.show()
walczę w szczególności z karmienia moją listę desiredentropies
która zależy od elementu na liście time
dla animacji.
przykład z samouczka potrzebuję kilka sekund pracy dla mnie - Python 2.7.11 i 3.4.3/Linux Mennica 17. Czy otrzymujesz komunikat o błędzie w konsoli/terminal/cmd.exe? – furas
@furas Dodałem zmianę do mojego OP. Moim głównym problemem jest aktualizacja zaktualizowanych list centralnych, z których chcę zrobić histogram, wraz z upływem czasu. Uwaga: lista żądanych punktów centralnych zmienia się dla każdego elementu w czasie. –
Będziesz musiał użyć 'animation.FuncAnimation' – furas