8000 Merge pull request #22871 from matplotlib/fixdateoffset · matplotlib/matplotlib@2666b0d · GitHub
[go: up one dir, main page]

Skip to content

Commit 2666b0d

Browse files
authored
Merge pull request #22871 from matplotlib/fixdateoffset
Fix year offset not always being added
2 parents 709fba8 + 7f1c6fa commit 2666b0d

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
@@ -795,8 +795,10 @@ def format_ticks(self, values):
795795
# mostly 0: years, 1: months, 2: days,
796796
# 3: hours, 4: minutes, 5: seconds, 6: microseconds
797797
for level in range(5, -1, -1):
798-
if len(np.unique(tickdate[:, level])) > 1:
799-
if level < 2:
798+
unique = np.unique(tickdate[:, level])
799+
if len(unique) > 1:
800+
# if 1 is included in unique, the year is shown in ticks
801+
if level < 2 and np.any(unique == 1):
800802
show_offset = False
801803
break
802804
elif level == 0:

lib/matplotlib/tests/test_dates.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -630,6 +630,10 @@ def test_offset_changes():
630630
ax.set_xlim(d1, d1 + datetime.timedelta(weeks=3))
631631
fig.draw_without_rendering()
632632
assert formatter.get_offset() == '1997-Jan'
633+
ax.set_xlim(d1 + datetime.timedelta(weeks=7),
634+
d1 + datetime.timedelta(weeks=30))
635+
fig.draw_without_rendering()
636+
assert formatter.get_offset() == '1997'
633637
ax.set_xlim(d1, d1 + datetime.timedelta(weeks=520))
634638
fig.draw_without_rendering()
635639
assert formatter.get_offset() == ''

0 commit comments

Comments
 (0)
0