【问题标题】:formatting the x-axis in Python在 Python 中格式化 x 轴
【发布时间】:2018-03-09 20:37:10
【问题描述】:

我正在尝试格式化我的 x 轴以仅显示日期。这是我的代码:

start = datetime(2017, 1, 1)

end = datetime(2018, 3, 9)

stock = web.DataReader('AAPL', 'morningstar', start, end)

daily_close = stock[['Close']]

stock['Close'].plot(figsize=(12,8))


plt.xlabel('Date')

plt.xticks(rotation=30)






plt.show()

【问题讨论】:

  • 我可能使用了不同版本的 pandas 或 matplotlib,因为我没有得到与您显示的相同的情节,但这对您有用吗? stock.reset_index(level=0)['Close'].plot()

标签: python pandas date charts stock


【解决方案1】:

将这些行放在plt.show()之前

date_labels = [dt.strftime('%Y-%m-%d') for dt in stock.index.get_level_values('Date')]
ticks, labels = plt.xticks()
new_labels = [date_labels[int(i)] for i in ticks if i < len(date_labels)]
new_ticks = ticks[0:len(new_labels)]
plt.xticks(new_ticks, new_labels)

代码将日期时间从索引转换为表示日期的字符串列表,并用相应的日期覆盖 X 轴上的刻度标签。

【讨论】:

  • 谢谢,但它不再显示正确的日期
  • 我想从日期中删除 AAPL 和 00:00:00
  • @ThanaaMakdsi 我已经更新了答案。它现在应该显示正确的日期。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-09
  • 2020-12-03
  • 1970-01-01
  • 2018-03-28
  • 2012-07-29
  • 1970-01-01
相关资源
最近更新 更多