Я работаю над способом визуализации данных, которые радикально меняются в течение нескольких лет, и для этого использую приведенный ниже код:
import matplotlib.pyplot as plt
import matplotlib.animation as animation
import numpy as np
import pandas as pd
data = pd.read_pickle('/path/to/pickle file')
y = data['Total'].values
x = list(range(len(y)))
fig = plt.figure()
ax = fig.add_subplot(111)
line, = ax.plot([],[], '-')
#ax.set_xlim(np.min(x), np.max(x))
#ax.set_ylim(np.min(y), np.max(y))
def animate(i):
ax.relim()
ax.autoscale_view()
line.set_xdata(x[:i])
line.set_ydata(y[:i])
return line,
ani = animation.FuncAnimation(fig, animate, interval=10, blit=True)
plt.show()
Все вышеперечисленное по существу работает, как и предполагалось, однакопри графическом отображении данных я получаю правильное автоматическое масштабирование осей x и y с течением времени, но на последнем рисунке графика ниже не видно ни одной линии:
https://imgur.com/a/yHcencq
Однако, увеличение (даже незначительное) позволяет отображать линии (ниже):
https://imgur.com/a/cRztEOM
Это не проблема с шириной линии, так как даже установка ее на абсурдно большое числовсе еще не отображает график, пока не увеличен, поэтому я не совсем уверен, что происходит / как это исправить.
Мне бы хотелось, чтобы во время анимации появлялась «кажущаяся» линия фиксированной ширины, подобная увеличенной на рисунке выше.