Я делаю гонку на гистограмме, используя matplotlib. Моя анимация показывает изменения в категориях, но порядок категорий не обновляется, когда значение одной категории превосходит другую. Также я хотел сделать свои оси динамическими c, но использование plt.xlim (0, max (df ['train'])) в функции обновления не работает
Мой код выглядит следующим образом
import requests
import pandas
import matplotlib.pyplot as plt
import json
import matplotlib.animation as animation
import numpy as np
index = np.arange(100)
john = index*index
logan = index*100
james = john *index
dataframe = pandas.DataFrame({'index': index, 'name': 'john', 'train':john})
dataframe = dataframe.append(pandas.DataFrame({'index':index, 'name':'james', 'train':james}))
dataframe = dataframe.append(pandas.DataFrame({'index':index, 'name':'logan', 'train':logan}))
fig = plt.figure()
def update(i):
df = dataframe[dataframe['index']==i]
df = df.sort_values('train')
line = plt.barh(df['name'], df['train'])
plt.xlim(0, max(dataframe['train']))
return line
ani = animation.FuncAnimation(fig, update, frames=100,
interval=50, blit=True)
plt.show()