python - 在 matplotlib rc 中设置刻度线颜色

标签 python matplotlib plot colors

我想编写一个可调用函数,为所有不同的图统一设置我的 matplotlib rc 参数。到目前为止,它只是一个 block ,我将其复制到每个文件并归结为:

import matplotlib as mpl

grey = '#808080'

mpl.rcParams['axes.linewidth'] = 0.3
mpl.rcParams['axes.edgecolor'] = grey

我这样做是为了让坐标轴更细,并通过让其他所有内容都略带灰色来突出显示我的数据。但是我找不到在 rc.conf 文件中将刻度边缘颜色设置为灰色的方法。我正在寻找类似的东西

'axes.tickedgecolor'

可悲的是,这似乎并不存在。

这里描述了一种不用 rc 的方法:Elegantly changing the color of a plot frame in matplotlib

希望有人能帮忙,谢谢!

编辑:澄清一下:我找到了选项

mpl.rcParams['tick.color'] = '#808080'

但它也会更改刻度标签,我希望它保持黑色!

最佳答案

好的,我找到了满足我需求的解决方法:

import matplotlib as mpl

grey = '#808080'

mpl.rcParams['axes.linewidth'] = 0.3
mpl.rcParams['axes.edgecolor'] = grey
mpl.rcParams['xtick.color'] = grey
mpl.rcParams['ytick.color'] = grey
mpl.rcParams['axes.labelcolor'] = "black"

虽然 xtick.color 也会更改标签颜色,但您可以在之后覆盖标签颜色。

编辑:不知何故这只适用于单个图。对于具有 6 个子图的图,它不起作用。

Edit2:我无法让它与 rcParams 一起工作,所以我在子绘图例程中更改了刻度

ax.tick_params('both', length=2, width=0.3, which='major', color=grey)

这使它起作用。

关于python - 在 matplotlib rc 中设置刻度线颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33673233/

相关文章:

python - 更改 DataFrame 最后一行中的元素

Python 导入 matplotlib.pyplot 不起作用

matplotlib - 删除 matplotlib 图上的图例

matlab - 如何在 Matlab 中绘制 y=mx+b?

python - 使用 Python 使用 Google、Facebook 或 Twitter 帐户登录网站

python - 另一个大写字符串解决方案的每个奇数字符

Matplotlib Axis 具有两个比例共享原点

plot - Gnuplot、pm3d 和曲面

r - ggplot2 位置 ='dodge' 生成的条太宽

python - 如何将 self 对象传递给全局变量(Django View )