Создание легенды цветовой карты в Matplotlib - PullRequest
31 голосов
/ 16 марта 2010

Я использую 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()

Как добавить легенду, отображающую числовое значение для различных оттенков серого. К сожалению, мой поиск в Google не нашел ответа: (

Заранее благодарю за помощь.

Винс

Ответы [ 3 ]

32 голосов
/ 16 марта 2010

В pyplot есть встроенная функция colorbar () .

19 голосов
/ 24 июня 2017

Простой, просто 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()
2 голосов
/ 16 марта 2010

Как обычно, я разобрался с этим сразу после того, как спросил;). Для потомков вот мой удар:

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

Я уверен, что существует более элегантное решение.

Винс

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...