8000 Merge pull request #25287 from devRD/offset-tickcolor · matplotlib/matplotlib@631d1ab · GitHub
[go: up one dir, main page]

Skip to content

Commit 631d1ab

Browse files
authored
Merge pull request #25287 from devRD/offset-tickcolor
Fix unmatched offsetText label color
2 parents 217f8f7 + 264e7d3 commit 631d1ab

File tree

2 files changed

+35
-2
lines changed

2 files changed

+35
-2
lines changed

lib/matplotlib/axis.py

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2240,13 +2240,18 @@ def _init(self):
22402240
)
22412241
self.label_position = 'bottom'
22422242

2243+
if mpl.rcParams['xtick.labelcolor'] == 'inherit':
2244+
tick_color = mpl.rcParams['xtick.color']
2245+
else:
2246+
tick_color = mpl.rcParams['xtick.labelcolor']
2247+
22432248
self.offsetText.set(
22442249
x=1, y=0,
22452250
verticalalignment='top', horizontalalignment='right',
22462251
transform=mtransforms.blended_transform_factory(
22472252
self.axes.transAxes, mtransforms.IdentityTransform()),
22482253
fontsize=mpl.rcParams['xtick.labelsize'],
2249-
color=mpl.rcParams['xtick.color'],
2254+
color=tick_color
22502255
)
22512256
self.offset_text_position = 'bottom'
22522257

@@ -2499,14 +2504,20 @@ def _init(self):
24992504
mtransforms.IdentityTransform(), self.axes.transAxes),
25002505
)
25012506
self.label_position = 'left'
2507+
2508+
if mpl.rcParams['ytick.labelcolor'] == 'inherit':
2509+
tick_color = mpl.rcParams['ytick.color']
2510+
else:
2511+
tick_color = mpl.rcParams['ytick.labelcolor']
2512+
25022513
# x in axes coords, y in display coords(!).
25032514
self.offsetText.set(
25042515
x=0, y=0.5,
25052516
verticalalignment='baseline', horizontalalignment='left',
25062517
transform=mtransforms.blended_transform_factory(
25072518
self.axes.transAxes, mtransforms.IdentityTransform()),
25082519
fontsize=mpl.rcParams['ytick.labelsize'],
2509-
color=mpl.rcParams['ytick.color'],
2520+
color=tick_color
25102521
)
25112522
self.offset_text_position = 'left'
25122523

lib/matplotlib/tests/test_axes.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7811,6 +7811,28 @@ def test_ytickcolor_is_not_yticklabelcolor():
78117811
assert tick.label1.get_color() == 'blue'
78127812

78137813

7814+
def test_xaxis_offsetText_color():
7815+
plt.rcParams['xtick.labelcolor'] = 'blue'
7816+
ax = plt.axes()
7817+
assert ax.xaxis.offsetText.get_color() == 'blue'
7818+
7819+
plt.rcParams['xtick.color'] = 'yellow'
7820+
plt.rcParams['xtick.labelcolor'] = 'inherit'
7821+
ax = plt.axes()
7822+
assert ax.xaxis.offsetText.get_color() == 'yellow'
7823+
7824+
7825+
def test_yaxis_offsetText_color():
7826+
plt.rcParams['ytick.labelcolor'] = 'green'
7827+
ax = plt.axes()
7828+
assert ax.yaxis.offsetText.get_color() == 'green'
7829+
7830+
plt.rcParams['ytick.color'] = 'red'
7831+
plt.rcParams['ytick.labelcolor'] = 'inherit'
7832+
ax = plt.axes()
7833+
assert ax.yaxis.offsetText.get_color() == 'red'
7834+
7835+
78147836
@pytest.mark.parametrize('size', [size for size in mfont_manager.font_scalings
78157837
if size is not None] + [8, 10, 12])
78167838
@mpl.style.context('default')

0 commit comments

Comments
 (0)
0