我是这个 Pandas 和 Matplotlib 的新手,我按照书中的一个例子,显然它给了我一个警告“MatplotlibDeprecationWarning:epoch2num 函数在 Matplotlib 3.3 中已弃用,将在两个次要版本后删除。base = dates.epoch2num(dt.asi8 / 1.0e9)”轴的 X 值从年变为一些随机数import matplotlib.pyplot as pltfrom pandas_datareader import dataAMZ = data.DataReader('AMZN', start='2011', end='2018', data_source='yahoo')AMZ = AMZ['Close']AMZ.plot()AMZ.resample('BA').mean().plot(style=':')AMZ.asfreq('BA').plot(style='--')plt.show()
3 回答
ABOUTYOU
TA贡献1812条经验 获得超5个赞
这是由 Matplotlib 和 Pandas 之间暂时的不良交互引起的,并且在两个项目中都已修复。
要在新版本可用之前变通:
plt.rcParams['date.epoch'] = '0000-12-31'
慕后森
TA贡献1802条经验 获得超5个赞
import matplotlib.pyplot as plt
from pandas_datareader import data
AMZ = data.DataReader('AMZN', start='2011', end='2018', data_source='yahoo')
AMZ = AMZ['Close']
fig, ax = plt.subplots(figsize=(16, 9))
plt.plot(AMZ.index, AMZ, label='AMZ')
plt.plot(AMZ.resample('BA').mean().index, AMZ.resample('BA').mean(), label='resample', linestyle=':')
plt.plot(AMZ.asfreq('BA').index, AMZ.asfreq('BA'), label='asfreq', linestyle='--')
ax.set_xlabel('Date')
plt.show()
这应该像一个魅力
添加回答
举报
0/150
提交
取消