为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕慕森 2023-03-30 16:10:19
我是这个 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'


查看完整回答
反对 回复 2023-03-30
?
动漫人物

TA贡献1815条经验 获得超10个赞

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

//img1.sycdn.imooc.com//6425443a0001e7d105870444.jpg


查看完整回答
反对 回复 2023-03-30
?
慕后森

TA贡献1802条经验 获得超5个赞

//img1.sycdn.imooc.com//642544470001382d06340482.jpg

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

这应该像一个魅力


查看完整回答
反对 回复 2023-03-30
  • 3 回答
  • 0 关注
  • 119 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信