Matplotlib Basemap颜色条文本位置

4
我遇到了一个与色条文本位置有关的问题。我正在使用matplotlib Basemap制作一些图形,并使用colorbar()函数。
现在我需要将我的色条放在图形的左侧。因此,我使用location='left',但是刻度和标签的文本被放在了色条的右侧,覆盖了图片的一部分。
有没有办法将文本放在色条的左侧?
1个回答

7
遗憾的是并不是完全集成化,但当你使用 OO 绘图库如 mpl 时,大多数事情都是可以实现的。
我在大约三个月前制作了一个更易于访问的变化实现了这个功能(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()

HTH,


@innu:这有帮助吗? - pelson
这确实对我有所帮助,谢谢!不过将色条标签移动到左侧怎么样? - Muon
其实不用担心... <your_colorbar_instance>.ax.yaxis.set_label_position('left') - Muon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接