如何从这个数据系列中仅绘制月份和日期(不包括年份)?

2024-04-25 18:13:18 发布

您现在位置:Python中文网/ 问答频道 /正文

如何在此图表中仅绘制月份和日期(不包括年份)

请在下面找到我的代码:

import datetime as dt
import matplotlib.pyplot as plt
from matplotlib import style
import pandas as pd 
import pandas_datareader.data as web



style.use('ggplot')

from datetime import date, timedelta
days = 20
end = dt.date.today()
start = end - timedelta(days=days)

stock = web.DataReader('MSFT', 'yahoo', start, end)

spare = stock['High'] / stock['Open']
#print(spare)
plt.plot((spare - 1) * 100)
plt.show()

这显示了以下图表: enter image description here

enter image description here


1条回答
网友
1楼 · 发布于 2024-04-25 18:13:18

您可以使用pandas.DatetimeIndex.strftime()更改spare的日期索引格式

spare.index = spare.index.strftime('%m-%d')

enter image description here

或者,您可以将Series spare转换为Dataframe并将日期索引重置为列,然后使用pandas.Series.dt.strftime()更改日期列格式

spare = spare.to_frame().reset_index()
spare['Date'] = spare['Date'].dt.strftime('%m-%d')
plt.plot(spare['Date'], (spare[[0]] - 1) * 100)

相关问题 更多 >