如何在 matplotlib 中将 Y 轴与 X 轴上的特定日期相交

How to set Y axis intersect to a specific date on X axis in matplotlib

我有我想要绘制的时间序列数据集。

X轴数据点的类型是Timestamp('2000-01-04 00:00:00')
Y轴数据点类型为float

当我执行通常的 ax.plot(x, y) 时,图表打印正常,但 Y 轴与 X 轴相交,从 X 轴上的数据开始向左偏移几个像素。 所以我尝试用各种组合设置相交,例如:

ax.spines['left'].set_position(('data', '2000-01-04'))
ax.spines['left'].set_position(('data', 946944000000000000))

但其中 none 有效。

如果 X 轴是

,我如何设置所需的 X 轴相交
DatetimeIndex(['2000-01-04', 
               ...
               '2021-12-17'],
              dtype='datetime64[ns]', name='Date', length=5535, freq=None)

所以,有了下面的图表:

from matplotlib import pyplot as plt
...
plt.xticks(rotation="vertical")
plt.plot(df)

您可以这样调整 w-axis:

plt.margins(x=0)
plt.plot(df)