2012-03-07 99 views
0
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}中所示。從單元陣列繪圖

我希望我在表達我的意圖時已經很清楚。

回答

2

如果你有興趣在這樣的事情,

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 
+0

準確。謝謝。 – Emma 2012-03-07 19:15:27