Автомасштабирование осей в задачах Matplotlib - график исчезает - PullRequest
0 голосов
/ 28 декабря 2018

Я работаю над способом визуализации данных, которые радикально меняются в течение нескольких лет, и для этого использую приведенный ниже код:

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

Это не проблема с шириной линии, так как даже установка ее на абсурдно большое числовсе еще не отображает график, пока не увеличен, поэтому я не совсем уверен, что происходит / как это исправить.

Мне бы хотелось, чтобы во время анимации появлялась «кажущаяся» линия фиксированной ширины, подобная увеличенной на рисунке выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...