2016-09-07 1 views
0

У меня есть 11 binary datasets весь размер 297x258 сохранен в data1, и я хотел бы создать изображение с этими перекрываемыми данными, каждому присваивается другой цвет с удаленным фоном (белый). Пример желаемых результатов, показан на этой картинке:Рисунок наложения данных и соответствующий график графика в MATLAB

Overlap

сгенерировать фигуры этих наборов данных с помощью:

figure, imshow(data1{1}),axis image, colormap(jet) 

Кроме того, любая помощь найти среднее увеличение размера (увеличение ось y) между data1{1} и data1{11} для каждого приращения значения x также оценивается. Каждый набор данных data1{1}, data1{2}, ... data1{11} соответствует временам 0, 1, ... 11 соответственно, и я хотел бы построить график среднего увеличения оси y относительно оси x (1: 297)). Ваша помощь очень ценится. Благодарю.

Мои мысли до сих пор являются:

for x=1:x_dim % where xdim is 297 (along the X-axis) 
    for y=1:ydim % where ydim is 258 (along the y-axis) 
     % execute code to determine increase in y-direction between 
     % binary datasets data1{1}, data1{2},...data1{11}. 
     % Then compute average for growth in the y-direction between each time 
    end 
    % Plot figure of average increase in y-axis against x-axis. 
end 

ответ

1

Так вот код для фигуры вы хотели:

all_data = cell2mat(flipud(data1.')); 
all_data = diag(repelem(linspace(1,70,11),size(data1{1},1)))*logical(all_data); 

% option 1: 
figure('Position',[450 100 200 900],'Color',[1 1 1]); 
C = colormap('jet'); 
C = [1 1 1;C]; 
colormap(C) 
imagesc(all_data) 
axis image 
axis off 

% option 2: 
all_data(1:size(data1{1},1):size(all_data,1),:) = nan(11,size(all_data,2)); 
stack = nan(size(all_data)); 
toprow = zeros(1,size(all_data,2)); 
for k = 1:size(all_data,2) 
    tmp = nonzeros(flipud(all_data(:,k))); 
    stack(1:numel(tmp),k) = tmp; 
    toprow(k) = numel(tmp); 
end 
figure('Position',[650 100 200 900],'Color',[1 1 1]); 
C = colormap('jet'); 
C = [1 1 1;C]; 
colormap(C) 
image(stack(1:max(toprow.'),:)) 
axis xy 
axis off 

Что дает это:

stack_figures

вариант 1 не слева, а вариант 2 справа.

+0

Спасибо за ваш ответ. Можно ли зафиксировать переход между данными1 {1}, data1 {2}, ... data1 {11} с включенными границами. С линиями трудно наблюдать, где объекты заканчиваются как «острова», которые опережают данные, не могут быть различимы. –

+0

Номер 3 - это то, что я имею в виду, производя. Спасибо. –

+0

Было бы также интересно узнать, как вы также произвели номер 5. Спасибо. –

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

  • Нет связанных вопросов^_^