在 matplotlib 中有没有一种方法可以改变轴(而不是刻度)的颜色?我一直在查看 Axes、 Axis 和 Artist 的文档,但是没有找到; matplotlib 库也没有提示。 知道吗?
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')
When using figures, you can easily change the spine color with:
ax.spines['bottom'].set_color('#dddddd') ax.spines['top'].set_color('#dddddd') ax.spines['right'].set_color('red') ax.spines['left'].set_color('red')
Use the following to change only the ticks:
which="both"
ax.tick_params(axis='x', colors='red') ax.tick_params(axis='y', colors='red')
And the following to change only the label:
ax.yaxis.label.set_color('red') ax.xaxis.label.set_color('red')
And finally the title:
ax.title.set_color('red')
Setting edge color for all axes globally:
matplotlib.rcParams['axes.edgecolor'] = '#ff0000'