在Matplotlib中创建Colormap图例

Vin*_*nce 32 python matplotlib

imshow()在matplotlib中使用如下:

import numpy as np
import matplotlib.pyplot as plt
mat = '''SOME MATRIX'''
plt.imshow(mat, origin="lower", cmap='gray', interpolation='nearest')
plt.show()
Run Code Online (Sandbox Code Playgroud)

如何添加显示不同灰度的数值的图例.可悲的是,我的谷歌搜索没有发现答案:(

提前感谢您的帮助.

文斯

Vic*_*ler 33

在pyplot中有一个内置的colorbar()函数.

  • 如果你正在使用子图,你可能需要像`fig = plt.figure(); ax = fig.add_subplot(1,1,1); plot = ax.pcolor(data); fig.colorbar(曲线);` (13认同)
  • 代码示例会很好;我认为协议是仅链接的答案被认为很差。最简单的使用就是`plt.colorbar()` (2认同)

wor*_*ise 22

简单,只是plt.colorbar():

import numpy as np
import matplotlib.pyplot as plt
mat = np.random.random((10,10))
plt.imshow(mat, origin="lower", cmap='gray', interpolation='nearest')
plt.colorbar()
plt.show()
Run Code Online (Sandbox Code Playgroud)


Vin*_*nce 7

像往常一样,我一问就明白了;)。对于后代,这是我的尝试:

m = np.zeros((1,20))
for i in range(20):
    m[0,i] = (i*5)/100.0
print m
plt.imshow(m, cmap='gray', aspect=2)
plt.yticks(np.arange(0))
plt.xticks(np.arange(0,25,5), [0,25,50,75,100])
plt.show()
Run Code Online (Sandbox Code Playgroud)

我确信存在一个更优雅的解决方案。

文斯