我正在尝试使用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)
使你的后Axes
,并设置适当的刻度位置,您可以访问蜱ax.get_xticklines()
和ax.get_yticklines()
。如果您遍历所有xticks
或yticks
,则可以使用来更改其颜色set_color()
对于较小的滴答声,可以使用ax.xaxis.get_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')
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句