+-
设置对数刻度轴上的matplotlib刻度的颜色
按照 Changing the color of the axis, ticks and labels for a plot in matplotlib的建议,我设法使用以下方法设置图形的书脊颜色,标签,数字和刻度:

ax.spines['left'].set_color('#FF9000')
ax.yaxis.label.set_color('#FF9000')
ax.tick_params(axis='y', colors='#FF9000')

但是,当我将图形的轴设置为对数刻度时,刻度线又恢复为黑色.

例如:

ax.set_yscale('log')
ax.spines['left'].set_color('#FF9000')
ax.yaxis.label.set_color('#FF9000')
ax.tick_params(axis='y', colors='#FF9000') <-- now only half works

这将以我想要的颜色绘制数字(因此我知道命令仍然可以执行某些操作),但不会影响刻度.

有没有办法设置对数刻度刻度的颜色?

最佳答案
这可以在我的系统上正常运行(非常接近当前的git master运行):

您只需要添加kwarg,即“两者”都为(doc)

figure()
ax = gca()

ax.set_yscale('log')
ax.spines['left'].set_color('#FF9000')
ax.yaxis.label.set_color('#FF9000')

ax.tick_params(axis='y', colors='#FF9000', width=5, which='both')

我使刻度线变粗,以便于查看颜色.

在对数刻度中,小刻度线是次刻度线,默认情况下tick_params仅更改主刻度线,您只需要告诉它同时执行两个操作或显式地分别执行(主要和次要)即可.

点击查看更多相关文章

转载注明原文:设置对数刻度轴上的matplotlib刻度的颜色 - 乐贴网