我想将主要和次要刻度,刻度标签和轴本身的颜色设置为相同的颜色,但我想出的唯一方法就是
fig, ax_a_mj = matplotlib.pyplot.subplots()
ax_a_mj.spines['bottom'].set_color('r')
ax_a_mj.tick_params(axis='x', colors='r')
ax_a_mj.tick_params(axis='x', colors='r', which='minor')
ax_a_mj.xaxis.label.set_color('r')
单一陈述是否无法做到这一点?
我想要做所有轴的情况怎么样,我有四个:
fig, ax_a_mj = matplotlib.pyplot.subplots()
ax_a_me = ax_a_mj.twinx()
ax_p_mj = ax_a_mj.twiny()
ax_a_mj.spines['bottom'].set_color('r')
ax_a_mj.spines['left'].set_color('r')
ax_a_mj.spines['right'].set_color('r')
ax_a_mj.spines['top'].set_color('r')
ax_a_mj.tick_params(axis='x', colors='r', which='both')
ax_a_mj.tick_params(axis='y', colors='r', which='both')
ax_p_mj.tick_params(axis='x', colors='r', which='both')
ax_a_me.tick_params(axis='y', colors='r', which='both')
ax_a_mj.xaxis.label.set_color('r')
ax_a_mj.yaxis.label.set_color('r')
ax_p_mj.xaxis.label.set_color('r')
ax_a_me.yaxis.label.set_color('r')
答案 0 :(得分:1)
如果你这么做很多,那就写下你自己的辅助函数
def colorize(ax_in, color_in):
ax_in.spines['bottom'].set_color(color_in)
ax_in.tick_params(axis='x', colors=color_in, which='both')
ax_in.xaxis.label.set_color(color_in)
请注意,which
可以是'both'
,它会设置主要和次要刻度(doc)。
如果您正在使用很多,可以将其修补到Axes
matplotlib.axes.Axes.my_colorize = colorize
然后
my_ax.my_colorize('r')
应该有用。
正在进行的工作是支持Tony Yu的样式表,第一部分已经合并到主人(https://github.com/matplotlib/matplotlib/pull/2236)。