我是這個 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
提交
取消