построение графика из массива ячеек - PullRequest
0 голосов
/ 07 марта 2012
clear all
FieldName = {'loc1','loc2','loc3','loc4'};
data = rand(8760,4);

dnew = mat2cell(data,eomday(2011, (1:12))*24,size(data,2));
k = cellfun(@(x)num2cell(nonzeros(tril(corrcoef(x),-1))),dnew','un',0);
out = [FieldName(nchoosek(1:numel(FieldName),2)) [k{:}]];

Этот пример демонстрирует среднемесячную корреляцию между каждой парой местоположений из 4 сайтов и выражается в виде «out».У меня проблемы с отображением этой информации.Я хотел бы нарисовать линейный график для каждой пары местоположений, но где разные линейные графики имеют разные маркеры.Кроме того, я хотел бы вставить легенду, показывающую пару местоположений, обозначенных как {1,1} и {1,2}.

Надеюсь, я ясно выразил свои намерения.

1 Ответ

2 голосов
/ 07 марта 2012

Если вас интересует что-то подобное,

Example

Вы можете использовать следующий код:

% Plot data
data = out(:,3:end);
p = plot(cell2mat(data)');

% Generate a cell containing the display names
display_names = cellfun( @(a,b) sprintf('%s - %s', a, b), ...
    out(:,1), out(:,2), 'UniformOutput', false);
legend(display_names);

% Set markers
markers = {'+', '>', '<', '^', 'v', '*', 'hexagram'};
for i=1:(min(length(markers), size(out,1)))
    set(p(i),'Marker',markers{i});
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...