默认情况下,matplotlib会将colorbar标签放置在垂直colorbar旁边。什么是最好的方式来强制标签的顶部的颜色栏?目前,我的解决方案需要根据标签的大小调整labelpad
和y
值:
import numpy as np
import matplotlib.pylab as plt
dat = np.random.randn(10,10)
plt.imshow(dat, interpolation='none')
clb = plt.colorbar()
clb.set_label('label', labelpad=-40, y=1.05, rotation=0)
plt.show()
有没有更好、更通用的方法来做到这一点?
2条答案
按热度按时间2nc8po8w1#
您可以设置颜色条轴的
title
(显示在轴上方),而不是label
(显示在长轴上)。要访问颜色条的Axes
,可以使用clb.ax
。然后,您可以使用set_title
,就像使用任何其他Axes
示例一样。例如:
tct7dpnv2#
颜色条存储在图中的轴列表中。因此,也可以通过访问包含颜色条的Axes来设置颜色条标题/标签。由于它是一个Axes对象,因此在其上定义了
set()
方法,该方法可用于修改许多属性,如title,xlabel,ylabel,ticks等。使用子图,相同的图可以编码如下。