Matplotlib 中的 X 轴打印随机数而不是年份

我是这个 Pandas 和 Matplotlib 的新手,我按照书中的一个例子,显然它给了我一个警告


“MatplotlibDeprecationWarning:epoch2num 函数在 Matplotlib 3.3 中已弃用,将在两个次要版本后删除。base = dates.epoch2num(dt.asi8 / 1.0e9)”


轴的 X 值从年变为一些随机数


import matplotlib.pyplot as plt

from pandas_datareader import data


AMZ = 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()

http://img1.mukewang.com/642544250001a3aa06190459.jpg

慕慕森
浏览 120回答 3
3回答

ABOUTYOU

这是由 Matplotlib 和 Pandas 之间暂时的不良交互引起的,并且在两个项目中都已修复。要在新版本可用之前变通:plt.rcParams['date.epoch'] = '0000-12-31'

动漫人物

我运行了你的代码,轴显示了正确的年份。问题不是来自您在此处发布的代码。

慕后森

import matplotlib.pyplot as pltfrom pandas_datareader import dataAMZ = 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()这应该像一个魅力
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python