使用 matplotlib 在 x 轴上突出显示特定日期

Highlight specific date in x-axis using matplotlib

我有一个要在 x 轴上绘制的日期列表:

x = ['20200116', '20200121', '20200325']

我使用以下代码进行绘图:

import matplotlib.pyplot as plt
import datetime
import matplotlib.dates as mdates

x = [datetime.datetime.strptime(date, '%Y%m%d').date() for date in x] ##convert string to dates

plt.fill_between(x, y1, 0, color='gray')
plt.margins(0)
plt.grid(alpha= 0.5)

plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%d/%m/%y')) ##changes date format
plt.xlim(xmin=min(x), xmax=max(x))
plt.gcf().autofmt_xdate()

这给了我下面的图表:

我的问题是:

  1. 如何在x标签中显示原始日期x = ['20200116', '20200121', '20200325']?那我就不需要他们高亮了。

  2. 如果以上不可能,那么如何用其他 x 标签显示原始日期 x = ['20200116', '20200121', '20200325'] 并突出显示这 3 个日期?

最后加plt.xticks(x)即可。