Выделите дату c по оси X с помощью matplotlib - PullRequest
1 голос
/ 26 марта 2020

У меня есть список дат, которые я хочу построить на оси 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 = ['20200116', '20200121', '20200325'] в x lables? Тогда мне не нужно будет их выделять.

  2. Если вышеприведенное невозможно, как показать оригинальные даты x = ['20200116', '20200121', '20200325'] с другими x lables, а также выделить эти 3 даты?

1 Ответ

3 голосов
/ 26 марта 2020

Просто добавьте plt.xticks(x) в конце.

...