Проблема с неправильным отображением дат Matplotlib в проблеме форматирования графика / даты в Python - PullRequest
0 голосов
/ 29 мая 2020

Я пытаюсь сделать базовый график c временных рядов, используя matplotlib в Google Colab.

У меня довольно простая c проблема, когда я не могу заставить даты отображаться правильно, даты go с 1971 по 2020 год, поэтому там довольно много данных.

Я сохранил свой код и график в следующем месте:

https://github.com/Ianfm94/Financial_Analysis/blob/master/LSTM_NN.ipynb

Как вы также можете видеть на изображении ниже, даты просто отображается как черный.

Я также пробовал форматировать даты с помощью Dateformatter из пакета matplotlib, но это не дало желаемого эффекта.

Не могли бы вы пролить свет на то, как это сделать исправить эту проблему с датой?

Спасибо.

Date issue

1 Ответ

0 голосов
/ 29 мая 2020

Есть функция, которая автоматически регулирует xticks. matplotlib.dates См. Эту страницу

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

# Reading in data
nasdaq_data = "https://raw.githubusercontent.com/Ianfm94/Financial_Analysis/master/NASDAQ_data%20US%20Listing.csv"

X = pd.read_csv(nasdaq_data)
Y = X['close']
#print(X.head(n=3))
X['date'] = pd.to_datetime(X['date'])

# Create figure and plot space
fig, ax = plt.subplots(nrows=1, ncols=1, figsize=(12, 12))

# Add x-axis and y-axis, colour of graph and increase 
# the line-width
ax.plot(X['date'],
       X['mid_price'],
       color='#69b3a2', lw=2)

# Set title and labels for axes
ax.set(xlabel='Date',
       ylabel='Index Value in $',
       title='Nasdaq Index Analysis')

# Change plot background colour
ax.set_facecolor('xkcd:light grey')

locator = mdates.AutoDateLocator()
formatter = mdates.ConciseDateFormatter(locator)

ax.xaxis.set_major_locator(locator)
ax.xaxis.set_major_formatter(formatter)

# Add grid
plt.grid(b=True, which='both', axis='both')

plt.show()

enter image description here

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