matplotlib - Что я здесь не так делаю? - PullRequest
0 голосов
/ 26 июня 2019

Недавно я начал изучать Matplotlib.Я написал один из своего кода и увидел, что вывод странный.Это мой код и ниже, что вывод этого кода:

from matplotlib import pyplot as plt
import pandas as pd

plt.style.use('seaborn')    
data = pd.read_csv('C:/py/matplotlib/08-TimeSeries/data.csv')

price_date = pd.to_datetime(data['Date'])
data.sort_values('Date', inplace=True)    
price_close = data['Close']

plt.plot_date(price_date, price_close, linestyle='solid')    
plt.gcf().autofmt_xdate()
plt.tight_layout()
plt.show()

это весь код, и вывод этого кода выглядит следующим образом:

enter image description here

Что я там не так делаю, сомневаюсь price_date = pd.to_datetime(data['Date']), поэтому я получаю эту ошибку, но могут быть и другие причины.Не могли бы вы помочь с этим?

Ответы [ 2 ]

1 голос
/ 26 июня 2019

Вы используете price_date = pd.to_datetime(data['Date']) для оси X и после этого сортируете data['Date']. Я думаю, это может быть вашей проблемой (не зная, как на самом деле выглядят ваши данные). Попробуйте:

from matplotlib import pyplot as plt
import pandas as pd

plt.style.use('seaborn')    
data = pd.read_csv('C:/py/matplotlib/08-TimeSeries/data.csv')

data['Date'] = pd.to_datetime(data['Date']) # Just change the column itself to datetime
data.sort_values('Date', inplace=True)    
price_close = data['Close'] # This is not actually necessary. You can just use date['Close']  in the plot_date below

plt.plot_date(data['Date'], data['Close'], linestyle='solid')    
plt.gcf().autofmt_xdate()
plt.tight_layout()
plt.show()
0 голосов
/ 26 июня 2019

Вам нужно отсортировать данные до того, как вы напишите свои данные по оси x (price_date).

Для получения желаемого результата замените

price_date = pd.to_datetime(data['Date'])
data.sort_values('Date', inplace=True)    
price_close = data['Close'] 

с

data['Date'] = pd.to_datetime(data['Date'])
data.sort_values('Date', inplace=True) 
price_date = data['Date']
price_close = data['Close']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...