2014-08-27 100 views
0

我有一個矩陣例如如何使用Matlab在圖形中顯示其索引號的矩陣值

A = [1 2 3; 3 4 5; 7 8 9]

我想顯示的值與其位置指數,以便可以看到A(1,1)的值爲1.相似的其他人。

我想在Y軸

請建議值顯示爲A11,A12,A13 ....在x軸和相應的值1,2,3。

+0

我不是你問什麼是很清楚。你有沒有一個你想要做什麼的例子?您是否正在註解一個情節(即(1,1)處寫'1',(1,2)處寫'2'等)? – excaza 2014-08-27 15:45:58

+0

我想在x軸上顯示a11,a12,a13 ....以及在Y軸上顯示相應的值1,2,3 3 謝謝 – bsnayak 2014-08-27 15:49:39

+0

@natan我已經根據OP的評論重新打開了這個問題:「顯示值爲a11,a12,a13 .... __在x軸___「。 – 2014-08-27 21:15:36

回答

1

您可以使用此:

[ii, jj] = meshgrid(1:size(A,1), 1:size(A,2)); 
labels = strcat('(', num2str(ii(:)), ',' ,num2str(jj(:)), ')'); 
stem(reshape(A.',[],1)); %'// or plot, or bar, or... 
set(gca, 'xtick', 1:numel(A)) 
set(gca, 'xticklabel', labels) 
xlim([0, numel(A)+1]) 

enter image description here


變色每個點:你可以利用hold all

[ii, jj] = meshgrid(1:size(A,1), 1:size(A,2)); 
labels = strcat('(', num2str(ii(:)), ',' ,num2str(jj(:)), ')'); 
hold all 
B = A.'; 
for n = 1:numel(ii) 
    stem(n,B(n)); %'// or plot, or bar, or... 
end 
set(gca, 'xtick', 1:numel(A)) 
set(gca, 'xticklabel', labels) 
xlim([0, numel(A)+1]) 

enter image description here

或者你可以手動定義一組顏色以及循環內連續使用它們:

[ii, jj] = meshgrid(1:size(A,1), 1:size(A,2)); 
labels = strcat('(', num2str(ii(:)), ',' ,num2str(jj(:)), ')'); 
colors = hsv(numel(A)); %// define colors 
B = A.'; 
hold on 
for n = 1:numel(ii) 
    stem(n,B(n), 'color', colors(n,:)); %'// or plot, or bar, or... 
end 
set(gca, 'xtick', 1:numel(A)) 
set(gca, 'xticklabel', labels) 
xlim([0, numel(A)+1]) 

enter image description here

+0

嗨路易斯。非常感謝你。它解決了我的問題。你能建議如果我想改變每個交替點的顏色,我該怎麼做? matlab中有沒有可用的函數? – bsnayak 2014-08-27 17:00:04

+0

查看編輯答案 – 2014-08-27 21:13:43

+0

非常感謝。 – bsnayak 2014-08-28 12:12:41