matplotlib x轴上日期之间的vlines

2024-09-27 21:33:38 发布

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

我已经创建了一个matplotlib绘图,它基于pandas数据帧,它可以正确地打印。我正在把垂直线包括在图表上。我可以使用以下方法:

permitdate = 'June 15, 2017'

ax.axvline(permitdate, linewidth=2)

许可日期可以是我想要绘制的任意日期。在

我的问题是指数(即图表上的x-asix)是以月末为基础的:

^{pr2}$

当我试图绘制vlines时,它会直接将线条放在日期所在的月份。在

例如,上面的许可证日期显示在a轴上的6月x记号的顶部。有没有一种方法可以在6月和7月的x记号之间表示它在两个月之间的实际位置,而不是直接位于月份x轴上?在

编辑:

一个受熊猫文档启发的例子:

import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
import numpy as np

ts = pd.Series(np.random.randn(10), index=pd.date_range('1/1/2000', periods=10, freq='m'))
ts = ts.cumsum()


df = pd.DataFrame(np.random.randn(10, 4), index=ts.index, columns=list('ABCD'))


df = df.cumsum()

ax = df.plot()
designdate = 'July 15, 2000'
ax.axvline(designdate, linewidth=2)

谢谢

伊万


Tags: 方法importpandasdfindexmatplotlibasnp
1条回答
网友
1楼 · 发布于 2024-09-27 21:33:38

使用resampleinterpolate一起获得每日频率

ax = df.resample('D').interpolate().plot()
designdate = 'July 15, 2000'
ax.axvline(pd.to_datetime(designdate), linewidth=2)

enter image description here

相关问题 更多 >

    热门问题