python matplotlib.pyplot не отображает график временных рядов - PullRequest
0 голосов
/ 18 марта 2019

ax.plot() не отображает график временных рядов, в то время как pandas.plot() и plt.scatter() работают.Но поскольку мне нужно реформировать свою ось, мне нужно использовать ax.plot().

Мои данные:

enter image description here

Когда я пытаюсь построить это: ax=df_cuba['ORD'].plot()

Работает отлично:

enter image description here

Но когда я пытаюсь использовать: plt.plot(x=df_cuba.index,y=df_cuba['ORD'])

Ничего не показывает:

enter image description here

Это также работает для scatterplot.

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

Ответы [ 2 ]

0 голосов
/ 28 марта 2019

Я выяснил истинную причину: plt.plot может отображать только числовые данные, поэтому, если мы хотим построить данные временных рядов в формате np.datetime64 или pd.datetime, нам нужно использовать следующую команду:

plt.plot_date(date, y)
0 голосов
/ 18 марта 2019

plot не имеет именованных аргументов x и y. Итак, предположим, у вас есть xdata и ydata, которые вы хотите построить, вы не можете использовать plt.plot(x=xdata, y=ydata), но вместо этого вам нужно

plt.plot(xdata, ydata)

Для разброса это не так, здесь вы можете использовать оба

plt.scatter(xdata, ydata)
plt.scatter(x=xdata, y=ydata)
...