Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 34796c3

Browse files
authored
Merge pull request #22878 from meeseeksmachine/auto-backport-of-pr-22871-on-v3.5.x
Backport PR #22871 on branch v3.5.x (Fix year offset not always being added)
2 parents d8629e9 + bc506ee commit 34796c3

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

lib/matplotlib/dates.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -797,8 +797,10 @@ def format_ticks(self, values):
797797
# mostly 0: years, 1: months, 2: days,
798798
# 3: hours, 4: minutes, 5: seconds, 6: microseconds
799799
for level in range(5, -1, -1):
800-
if len(np.unique(tickdate[:, level])) > 1:
801-
if level < 2:
800+
unique = np.unique(tickdate[:, level])
801+
if len(unique) > 1:
802+
# if 1 is included in unique, the year is shown in ticks
803+
if level < 2 and np.any(unique == 1):
802804
show_offset = False
803805
break
804806
elif level == 0:

lib/matplotlib/tests/test_dates.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -621,6 +621,10 @@ def test_offset_changes():
621621
ax.set_xlim(d1, d1 + datetime.timedelta(weeks=3))
622622
fig.draw_without_rendering()
623623
assert formatter.get_offset() == '1997-Jan'
624+
ax.set_xlim(d1 + datetime.timedelta(weeks=7),
625+
d1 + datetime.timedelta(weeks=30))
626+
fig.draw_without_rendering()
627+
assert formatter.get_offset() == '1997'
624628
ax.set_xlim(d1, d1 + datetime.timedelta(weeks=520))
625629
fig.draw_without_rendering()
626630
assert formatter.get_offset() == ''

0 commit comments

Comments
 (0)