[英]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.