Можете ли вы обрезать указатель даты в Matplotlib? - PullRequest
0 голосов
/ 13 января 2020

При установке основного локатора в качестве DayLocator с Matplotlib, график показывает день до и после моего диапазона дат. Есть ли способ сократить диапазон, как вы можете с MaxNLocator? Спасибо.

import matplotlib.pyplot as plt
import matplotlib.dates as mdates
import pandas as pd

fig, ax = plt.subplots()

ax.plot(pd.Series(index=pd.date_range('2019-1-1','2019-1-31',freq='D'),data=range(31)))

ax.xaxis.set_major_locator(mdates.DayLocator())
ax.xaxis.set_major_formatter(mdates.DateFormatter('%#d'))

1 Ответ

2 голосов
/ 13 января 2020

Причина, по которой вы получаете дополнительный тик, заключается в том, что на каждой стороне линии есть 5% -ый запас, так что следующий день фактически является частью диапазона оси. Вы можете уменьшить маржу через ax.margins(...). В этом случае, например,

ax.margins(x=1/31)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...