我对彩条的文字位置有疑问。我正在使用matplotlib Basemap制作一些图,我使用colorbar()
函数。
现在我需要将我的颜色条放在图的左侧。所以我使用location='left'
,
但是,在彩色条的右侧给出了刻度和标签的文本,这是叠加的
图片的一部分。
有没有办法更改栏左侧的文字?
答案 0 :(得分:7)
可悲的是,不是以完全集成的方式,但是当您处理诸如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()
HTH,