Использование matplotlib для построения матрицы с третьей переменной в качестве источника для цветовой карты - PullRequest
0 голосов
/ 29 мая 2018

Допустим, у вас есть матрица, заданная тремя массивами:

x = N-мерный массив.

y = M-мерный массив.

И z - этонабор «несколько случайных» значений от -0,3 до 0,3 в форме NxM.Мне нужно создать график, в котором значения x находятся на оси x, значения y находятся на оси y и используя z в качестве источника, чтобы указать интенсивность каждого пикселя с цветовой картой.

До сих пор я пытался использовать

plt.contourf(x,y,z)

, и полученный график очень хорош для меня (прикреплен в конце этого параграфа), но к графику автоматически применяется сглаживание!Мне нужно уметь различать пиксели, и я не могу найти способ сделать это. Результат контура

Я также изучил возможность использования

ax.matshow(z)

для успешного просмотра пикселей ... но затем я изо всех сил пытаюсь персонализироватьоси x и y, поскольку отображается только индекс пикселя (см. ниже). результат matshow

Не могли бы вы дать мне несколько идей?Спасибо.

Ответы [ 2 ]

0 голосов
/ 29 мая 2018

Без дополнительной информации о ваших x, y данных трудно узнать, но я думаю, вы ищете pcolormesh.

plt.pcolormesh(x,y,z)

Это займет х иy данные в качестве входных данных и, следовательно, показывает данные z в соответствующих координатах.

0 голосов
/ 29 мая 2018

Вы можете использовать imshow с ключевым словом interpolation='nearest'.

plt.imshow(z, interpolation='nearest')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...