Matplotlib: Changing the color of an axis

Viewed 133611

Is there a way to change the color of an axis (not the ticks) in matplotlib? I have been looking through the docs for Axes, Axis, and Artist, but no luck; the matplotlib gallery also has no hint. Any idea?

4 Answers

For the record, this is how I managed to make it work:

fig = pylab.figure()
ax  = fig.add_subplot(1, 1, 1)
for child in ax.get_children():
    if isinstance(child, matplotlib.spines.Spine):
        child.set_color('#dddddd')

You can do it by adjusting the default rc settings.

import matplotlib
from matplotlib import pyplot as plt

matplotlib.rc('axes',edgecolor='r')
plt.plot([0, 1], [0, 1])
plt.savefig('test.png')

Setting edge color for all axes globally:

matplotlib.rcParams['axes.edgecolor'] = '#ff0000'
Related