Matplotlib: Увеличьте ширину / высоту ax.matshow и установите цветную карту (cmap) прозрачной - PullRequest
0 голосов
/ 25 ноября 2018

У меня есть матрица, построенная из случайных значений, и я нанес ее на график с помощью ax.matplot, где значение каждой ячейки матрицы отображается в центре ячейки матрицы, и мне нужно увеличить размер графика (особенноwidth), а также установите цветовую карту (cmap) на «прозрачный», где ячейки матрицы будут иметь значение white , а значение матрицы в центре ячейки будет равно black * 1005.*.

Код:

import numpy as np
import matplotlib.pyplot as plt

low_dim = 0
high_dim = 20

matrix = np.random.randint(low_dim, high_dim, (high_dim,high_dim))
print (matrix)
fig, ax = plt.subplots()

ax.matshow(matriz, cmap=None,interpolation='nearest')

for i in xrange(20):
    for j in xrange(20):
        number = matrix[j,i]
        ax.text(i, j, str(number), va='center', ha='center')


plt.show()

РЕДАКТИРОВАТЬ

Это matrix в коде (https://i.stack.imgur.com/e3mGO.png ( matrix ), матрица, сгенерированная командой matrix = np.random.randint(low_dim, high_dim, (high_dim,high_dim)), изображение с консоли.

Я пытался изменить figsize in fig,ax = plt.subplot(), но это ничего не меняет. И я также установил cmap = none, но ничего не произошло.

Другая проблема заключается в том, что на первом рисунке числа в индексеосей х и у меняются от 0 до 15 и шаг 5, как 0, 5, 10, 15 (я пометил его красным). Но на втором рисунке (также отмечен красным), значения от 0до 19, без шага. Если возможно, мне нужно прийти к результату второго снимка, индексы которого варьируются от 0 до 19 без шага.

Рисунок 1: Что я получаю: https://i.stack.imgur.com/mlExQ.png

Рисунок 2: Что мне нужно получить: https://i.stack.imgur.com/T3CC4.png

1 Ответ

0 голосов
/ 26 ноября 2018

matshow принимает аргументы для происхождения и альфа.Остальное просто настройки галочек и меток.

ax.matshow(matrix, origin='lower', alpha=0, cmap=None, interpolation='nearest')

tick_labels = range(high_dim)
ax.set_xticks([], minor=False)
ax.set_xticks(np.arange(-.5, 20, 1), minor=True)
ax.set_yticks([], minor=False)
ax.set_yticks(np.arange(-.5, 20, 1), minor=True)
ax.set_xticklabels([], minor=False)
ax.set_xticklabels(tick_labels, minor=True)
ax.set_yticklabels([], minor=False)
ax.set_yticklabels(tick_labels, minor=True)
ax.xaxis.set_ticks_position('bottom')
ax.grid(which='minor', color='grey', linestyle='-', linewidth=1)
...