【问题标题】:Set tick egde color in matplotlib rc在 matplotlib rc 中设置刻度 egde 颜色
【发布时间】:2016-02-13 21:11:36
【问题描述】:

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

import matplotlib as mpl

grey = '#808080'

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

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

'axes.tickedgecolor'

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

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

希望有人能帮忙,谢谢!

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

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

但它也改变了刻度标签,我想保持黑色!

【问题讨论】:

    标签: python matplotlib plot colors


    【解决方案1】:

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

    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)
    

    这使它起作用了。

    【讨论】:

      猜你喜欢
      • 2013-02-21
      • 1970-01-01
      • 2022-01-20
      • 1970-01-01
      • 1970-01-01
      • 2013-09-13
      • 1970-01-01
      • 2020-10-01
      • 1970-01-01
      相关资源
      最近更新 更多