Как отобразить матрицу на графике в MATLAB? - PullRequest
0 голосов
/ 15 апреля 2019

Как отобразить матрицу на графике?Я могу сделать это в Python, используя:

import numpy as np
import matplotlib.pyplot as plt
def plot_filter(filters,tex):
    fig, ax = plt.subplots()

    for i in range(filters.shape[0]):
        for j in range(filters.shape[1]):
            c = hori[i][j]
            ax.text(i+0.5, j+0.5, str(c), va='center', ha='center')

    ax.set_xlim(min_val, filters.shape[0])
    ax.set_ylim(min_val, filters.shape[1])
    ax.set_xticks(np.arange(filters.shape[0]))
    ax.set_yticks(np.arange(filters.shape[1]))
    ax.set_xticklabels([])
    ax.set_yticklabels([])
    ax.grid()

    plt.title(tex)

hori = np.array([[0, 0, 0], [1, 2, 1], [0, 0, 0]])
plot_filter(hori, 'Horizontal')

Как это сделать в MATLAB?

Результат должен выглядеть следующим образом:

result_matrix

1 Ответ

1 голос
/ 15 апреля 2019

Вы можете использовать cellplot для этой цели.

h = cellplot({0 1 0; 0 2 0; 0 1 0});
title('Horizontal');

, что дает:

img1

и для удаления красных полей используйте:

set(h(2:2:end),'EdgeColor', [1 1 1], 'FaceColor', [1 1 1]);

img2

...