Skip to content

Commit 4de75b7

Browse files
authored
Fixed a bug where rcParams settings were being ignored for formatting axes labels (#25237)
* Fixed a bug where rcParams settings were being ignored for formatting axes labels * Added a clarifying comment
1 parent ee7d75e commit 4de75b7

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-0
lines changed

lib/matplotlib/axis.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -879,6 +879,11 @@ def clear(self):
879879
- registered callbacks
880880
"""
881881
self.label._reset_visual_defaults()
882+
# The above resets the label formatting using text rcParams,
883+
# so we then update the formatting using axes rcParams
884+
self.label.set_color(mpl.rcParams['axes.labelcolor'])
885+
self.label.set_fontsize(mpl.rcParams['axes.labelsize'])
886+
self.label.set_fontweight(mpl.rcParams['axes.labelweight'])
882887
self.offsetText._reset_visual_defaults()
883888
self.labelpad = mpl.rcParams['axes.labelpad']
884889

lib/matplotlib/tests/test_axes.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8431,3 +8431,15 @@ def test_zorder_and_explicit_rasterization():
84318431
ln, = ax.plot(range(5), rasterized=True, zorder=1)
84328432
with io.BytesIO() as b:
84338433
fig.savefig(b, format='pdf')
8434+
8435+
8436+
@mpl.style.context('default')
8437+
def test_rc_axes_label_formatting():
8438+
mpl.rcParams['axes.labelcolor'] = 'red'
8439+
mpl.rcParams['axes.labelsize'] = 20
8440+
mpl.rcParams['axes.labelweight'] = 'bold'
8441+
8442+
ax = plt.axes()
8443+
assert ax.xaxis.label.get_color() == 'red'
8444+
assert ax.xaxis.label.get_fontsize() == 20
8445+
assert ax.xaxis.label.get_fontweight() == 'bold'

0 commit comments

Comments
 (0)