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

时间:2020-03-26 10:42:07

标签: python python-3.x datetime matplotlib highlight

我有一个要在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()

这给了我下面的图表:

enter image description here

我的问题是:

  1. 如何在x标签中仅显示原始日期x = ['20200116', '20200121', '20200325']?然后,我不需要突出显示它们。

  2. 如果无法执行上述操作,那么如何与其他x标签一起显示原始日期x = ['20200116', '20200121', '20200325']并突出显示这三个日期?

1 个答案:

答案 0 :(得分:3)

只需在末尾添加plt.xticks(x)