Python Matplotlib不同颜色的刻度线和标签
我正在尝试使用matplotlib中的特定颜色贴图绘制2d图像,需要将刻度的颜色更改为白色。但当我这样做时,标签或记号号也会改变颜色,它们在白色背景上变得不可见 如何仅更改刻度线的颜色而不更改其标签或关联编号的颜色 范例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
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
。另外,我看不到您试图在哪里设置刻度颜色。我是不是忽略了一些显而易见的东西?谢谢!但小刻度线仍然是“黑色”。你知道一种改变它们的方法吗?我不认为这能回答这个问题,因为它会改变滴答声和滴答声标签的颜色。