我对颜色条的文本位置有疑问。我正在使用 matplotlib Basemap 制作一些绘图,并且我使用了 usecolorbar()
功能。
现在我需要把我的颜色条放在我图的左边。所以我使用location='left'
,但刻度和标签的文本在颜色栏的右侧给出,覆盖了图片的一部分。
有什么办法可以更改栏左侧的文字吗?
我对颜色条的文本位置有疑问。我正在使用 matplotlib Basemap 制作一些绘图,并且我使用了 usecolorbar()
功能。
现在我需要把我的颜色条放在我图的左边。所以我使用location='left'
,但刻度和标签的文本在颜色栏的右侧给出,覆盖了图片的一部分。
有什么办法可以更改栏左侧的文字吗?
遗憾的是不是以完全集成的方式,但是当您处理诸如 mpl 之类的 OO 绘图库时,大多数事情都是可能的。
大约 3 个月前(https://github.com/matplotlib/matplotlib/pull/956),我进行了一项更改,以更易于访问的形式实现了此功能,但我们决定不合并它,因为有一些根本性的变化正在进行这使得这种变化不太适用于可能类型的情节。
要在左侧生成带有刻度的颜色条,您可以执行以下操作:
<your_colorbar_instance>.ax.yaxis.set_ticks_position('left')
一个真实的工作示例:
import matplotlib
# create a dummy scalar mappable to create a colour bar with:
sm = plt.cm.ScalarMappable(cmap=plt.get_cmap('Reds'))
sm.set_array(range(10))
# create the colorbar and put the ticks on the left hand side
cb = plt.colorbar(sm)
cb.ax.yaxis.set_ticks_position('left')
plt.show()
高温下,