从matplotlib command summary for the colorbar method我知道关键字参数orientation := 'horizontal' | 'vertical'
作为参数在下面放置水平栏或 >垂直分别到右。
然而,在我的情况下,我宁愿将色条放在默认的另一侧(如果可能的话,没有太多的摆弄......)。
我怎么能编码呢?我错过了一些明显的特征吗?
答案 0 :(得分:9)
我发现了另一种避免手动编辑坐标轴位置的方法,而是允许您通过使用location关键字(最初从here改编的方法)将颜色栏链接到现有的绘图坐标轴。 / p>
location参数应用于引用列表中多个轴的颜色栏(如果仅给一个轴指定颜色栏,则会引发错误),但是如果仅将一个轴放入列表中,它将允许您使用参数。您可以使用以下代码作为示例:
import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure()
ax = fig.add_subplot(111)
axp = ax.imshow(np.random.randint(0, 100, (100, 100)))
cb = plt.colorbar(axp,ax=[ax],location='left')
plt.show()
这将产生该图:
:
答案 1 :(得分:6)
我认为最简单的方法是确保颜色条位于自己的轴上。您可以从这个示例中进行调整:
import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure()
ax = fig.add_subplot(111)
axp = ax.imshow(np.random.randint(0, 100, (100, 100)))
# Adding the colorbar
cbaxes = fig.add_axes([0.1, 0.1, 0.03, 0.8]) # This is the position for the colorbar
cb = plt.colorbar(axp, cax = cbaxes)
plt.show()
结果如下: