Python Matplotlib不同颜色的刻度线和标签

Python Matplotlib不同颜色的刻度线和标签,python,matplotlib,colors,label,Python,Matplotlib,Colors,Label,我正在尝试使用matplotlib中的特定颜色贴图绘制2d图像,需要将刻度的颜色更改为白色。但当我这样做时,标签或记号号也会改变颜色,它们在白色背景上变得不可见 如何仅更改刻度线的颜色而不更改其标签或关联编号的颜色 范例 import matplotlib.pyplot as plt import numpy as np fig=plt.figure() ax=fig.add_subplot(111) pc=ax.pcolormesh(xf,yf,F

我正在尝试使用matplotlib中的特定颜色贴图绘制2d图像,需要将刻度的颜色更改为白色。但当我这样做时,标签或记号号也会改变颜色,它们在白色背景上变得不可见

如何仅更改刻度线的颜色而不更改其标签或关联编号的颜色

范例

    import matplotlib.pyplot as plt
    import numpy as np


    fig=plt.figure()
    ax=fig.add_subplot(111) 
    pc=ax.pcolormesh(xf,yf,F, vmin=F.min(), vmax=F.max(),  cmap=colormap)
    fig.colorbar(pc,orientation='horizontal',label=r'Intensity',format='%1.1f', ticks=np.arange(-0.1,0.6,0.1), pad=0.1)
    ax.set_xlabel("RA offset [arcsec]")
    ax.set_ylabel("DEC offset [arcsec]")
    ax.set_xlim(3.0,-3.0)
    ax.set_ylim(-3.0,3.0)

    ########## ticks

    ### x axis

    major_ticks = np.arange(-2.0, 3.0, 2.0)                                              
    minor_ticks = np.arange(-3.0, 4.0, 1.0)                                               


    ax.set_xticks(major_ticks)                                                       
    ax.set_xticks(minor_ticks, minor=True)                                           
    ax.set_yticks(major_ticks)                                                       
    ax.set_yticks(minor_ticks, minor=True) 

制作
轴并设置适当的记号位置后,可以使用
ax.get\xticklines()
ax.get\yticklines()
访问记号。如果迭代所有
xtick
ytick
,可以使用
set\u color()

对于小刻度,可以使用
ax.xaxis.get\u minorticklines()
。请注意,如果愿意,也可以使用
ax.xaxis.get_majorticklines()
代替
ax.get_xticklines()

for tick in ax.get_xticklines():
    tick.set_color('red')

for minortick in ax.xaxis.get_minorticklines():
    minortick.set_color('r')

for tick in ax.get_yticklines():
    tick.set_color('green')

虽然这个问题得到了回答,但我认为它使用起来更简单

ax.tick_params(axis='y', which='both', color='w')
在不更改标签颜色的情况下更改y轴刻度的颜色(参数
,该参数选择
两者都

要更改记号和标签的颜色,命令如下

ax.tick_params(axis='y', which='both', colors='w')

通过更简单,我的意思是它使用更少的行来实现相同的结果。

您的示例代码没有运行--
xf
yf
、和
F
。另外,我看不到您试图在哪里设置刻度颜色。我是不是忽略了一些显而易见的东西?谢谢!但小刻度线仍然是“黑色”。你知道一种改变它们的方法吗?我不认为这能回答这个问题,因为它会改变滴答声和滴答声标签的颜色。