我可以在matplotlib的情节左侧放置一个垂直颜色条吗?

时间:2016-05-17 15:33:10

标签: python matplotlib

matplotlib command summary for the colorbar method我知道关键字参数orientation := 'horizontal' | 'vertical'作为参数在下面放置水平 >垂直分别到

然而,在我的情况下,我宁愿将色条放在默认的另一侧(如果可能的话,没有太多的摆弄......)。

我怎么能编码呢?我错过了一些明显的特征吗?

2 个答案:

答案 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()

这将产生该图:

plot

答案 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()

结果如下:

Matplotlib colorbar on the left side of plot