Skip to content

Commit 7f1c6fa

Browse files
committed
Fix year offset not always being added
1 parent a7b7260 commit 7f1c6fa

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

lib/matplotlib/dates.py

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

lib/matplotlib/tests/test_dates.py

+4
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)