Как построить 200 строк (временных рядов) в matplotlib и сделать их читаемыми по оси x? - PullRequest
0 голосов
/ 19 марта 2020

Эй, ребята, это мой код.

import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
import numpy as np

banco=pd.read_csv('banco central3.csv',index_col='Fecha',parse_dates=['Fecha'], usecols=. 
['RRII','Fecha'])
print(banco.head())
fig, ax = plt.subplots(figsize=(10, 10))

ax.bar(banco.index.values,
    banco['RRII'],
    color='purple')


ax.xaxis.set_major_locator(mdates.WeekdayLocator())
ax.xaxis.set_major_formatter(mdates.DateFormatter('%m-%Y'))


ax.set(xlabel="DATE",
   ylabel="RRII",
   title="\nReservas Internacionales")
plt.tight_layout()
plt.show()

Вывод, как график, следующий. Данные (ось X) не читаются.

Дата-время ('Fecha') составляет около 200 строк. Я хочу прояснить ось X, чтобы она стала читабельной.

а также я не знаю, почему барплот выглядит так (так разделены между собой). Я хочу классный c барплот.

Вы видите, что время данных нечитаемо

формат данных такой:

            RRII
Fecha             
2019-11-27  43.765
2019-11-28  43.736
2019-11-29  43.772
2019-02-12  43.731
2019-03-12  43.750

Но у меня 200 строк ,

Есть ли способ сделать это? Большое спасибо

EDIT

Я изменяю mdates.Daylocator на m.dates.Monthlocator. и я добавил функцию Plt.setp. Теперь мой сюжет не перекрывается, но линейный сюжет не имеет смысла.

ax.xaxis.set_major_locator(mdates.MonthLocator())

plt.setp(ax.get_xticklabels(), rotation=30, 
horizontalalignment='right')

ИЗОБРАЖЕНИЕ ЗДЕСЬ. Я хочу, чтобы сюжет следовал за RRII по дате и времени

1 Ответ

0 голосов
/ 19 марта 2020

Чтобы сделать ось X читабельной, измените строку

ax.xaxis.set_major_locator(mdates.WeekdayLocator())

на

ax.xaxis.set_major_locator(mdates.MonthLocator())

Однако использование 200 барплота не рекомендуется; использовать нормальный график:

ax.plot(banco['RRII'], '.', color='purple')

[править: изменение маркера от точки линии]

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