繁体   English   中英

matplotlib-我在这里做错了什么?

[英]matplotlib - What am I doing wrong here?

最近,我开始学习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()

这是完整的代码,以上代码的输出如下所示:

在此处输入图片说明

我在那儿做错了什么,我怀疑price_date = pd.to_datetime(data['Date'])这就是为什么我会收到此错误,但是可能还有其他原因。 你能帮忙吗?

您在x轴上使用price_date = pd.to_datetime(data['Date']) ,然后对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()

编写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']

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM