繁体   English   中英

Matplotlib 自定义样式:不同的刻度颜色和刻度标签颜色

[英]Matplotlib custom styles: different tick color and tick label color

这是对这个问题的一些跟进,作者想要不同的刻度和刻度标签颜色。 我想将这些设置保存为 Matplotlib 样式。 但是在 Matplotlib 样式中,我只能设置刻度颜色(请参阅下面的 xtick 设置),它同时更改刻度和刻度标签颜色。

xtick.major.size     : 4      # major tick size in points
xtick.minor.size     : 4      # minor tick size in points
xtick.major.pad      : 6      # distance to major tick label in points
xtick.minor.pad      : 6      # distance to the minor tick label in points
xtick.color          : 555555      # color of the tick labels                   <---
xtick.labelsize      : medium # fontsize of the tick labels
xtick.direction : in # direction: in or out

在我的公司,我们有灰色勾号和黑色勾号标签,我怎样才能为我的所有地块实现这一点?

感谢您的帮助库斯科

我和你有完全一样的问题。

我已经向 Matplotlib ( https://github.com/matplotlib/matplotlib/issues/17659 ) 提交了一个错误报告并写了一个 PR 来解决这个问题 ( https://github.com/matplotlib/matplotlib/pull/17661 ) . 因此,从 Matplotlib v3.4.0(尚未发布,但现在可在 master 分支上使用)开始,此问题已修复。

以前, xtick.color用于定义刻度颜色和标签颜色。 现在可以使用xtick.labelcolor独立设置标签颜色。 它默认为“继承”,它将从xtick.color获取值。 ytick.[label]color 例如,要将刻度设置为浅灰色,将刻度标签设置为黑色,可以在脚本中使用以下代码:

import matplotlib as mpl

mpl.rcParams['xtick.labelcolor'] = 'lightgrey'
mpl.rcParams['xtick.color'] = 'black'
mpl.rcParams['ytick.labelcolor'] = 'lightgrey'
mpl.rcParams['ytick.color'] = 'black'

或者通过将以下行添加到 matplotlib rc 文件或 matplotlib 样式文件:

xtick.labelcolor : lightgrey
xtick.color      : black
ytick.labelcolor : lightgrey
ytick.color      : black

我希望这可以帮助别人!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM