статические значения цвета в градациях серого - PullRequest
0 голосов
/ 03 февраля 2012

Я понимаю, что использование imshow в matplotlib.pyplot дает мне хороший эскиз, который можно использовать для визуализации матриц. Мой вопрос заключается в том, что когда я хочу визуализировать матрицу, функция регулирует плотность цвета в соответствии со значениями, которые я передаю. например:

#define a numpy matrix with values between 0 and 1
k=numpy.array([
         [ 1.        ,  0.9701425 ,  0.99931483],
         [ 0.9701425 ,  1.        ,  0.97845444],
         [ 0.99931483,  0.97845444,  1.        ]])
#plot the matrix
plt.imshow(k,cmap=cm.gist_gray)

Я получаю изображение с огромной разницей между 1 и 0,97. если я сделаю что-то вроде:

k[2][2]=.1
plt.imshow(k,cmap=cm.gist_gray)

У меня совершенно другая картина. Есть ли способ решить эту проблему? есть ли способ получить изображение, в котором у нас есть статические значения цвета вместо динамически изменяемых, как указано выше?

1 Ответ

2 голосов
/ 03 февраля 2012

Вы можете использовать аргументы vmin и vmax для ключевых слов imshow, как описано здесь .В частности, если вы измените свой imshow вызов на

plt.imshow(k, vmin=0, vmax=1)

, цвета будут нормализованы, как если бы в данных присутствовало значение 0 и значение 1.

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