2015-05-21 2 views
1

Предположим, у меня есть некоторый массив NxM с именем L, в котором каждая запись содержит одно из четырех целых чисел, скажем 0,1,2,3. Каждое число сгруппированное в массиве, то есть верхняя правая часть L будет полностью 1, а нижние левым будет все 2 и середина будет все 0 и т.д.Зоны построения из целочисленной значащей матрицы в MATLAB

Есть ли способ, чтобы сделать область график с использованием MATLAB, так что граф будет иметь оси от 0 до N на одной оси и от 0 до M с другой, где области, соответствующие конкретному целому числу в матрице, будут заполнены разными цветами в том же месте на графике ?

Результат должен выглядеть примерно так: Link to Image

Я искал решение этой проблемы, но я не могу найти какой-то простой ответ в любом месте.

Сообщите мне, если я должен разъяснить что-нибудь еще.

+0

Вы пробовали 'imagesc'? –

+0

Я не знал о такой функции. Благодаря! – Hotdog2000

ответ

2

Как насчет простой imagesc?

L = [0 0 0 1 1 1 
    0 0 1 1 1 1 
    0 0 0 1 1 2 
    0 0 1 1 2 2 
    0 0 0 2 2 2 
    3 3 3 3 2 2 
    3 3 3 3 3 3]; %// example data 
cmap = [1 .5 .5 %// light red 
     .5 1 .5 %// light green 
     .5 .5 1 %// light blue 
     .5 .5 .5] %// grey 
imagesc(L);  %// show image 
colormap(cmap)  %// use colormap 
axis image   %// set same scale on both axes 

enter image description here

+0

Знаете ли вы, можно ли выбрать цвет каждой области? – Hotdog2000

+1

Конечно, с ['colormap'] (http://es.mathworks.com/help/matlab/ref/colormap.html). См. Отредактированный ответ –

Смежные вопросы