2013-05-11 36 views
0

我有n * 2矩陣例如矩陣A.第一列是一些索引,第二列是直方圖。我想只可視化非零直方圖,所以,我過濾了A並刪除了索引與直方圖零。我用繪圖直方圖(變化軸)

bar(A(:,1),A(:,2)) 

我沒有使用excel。我怎樣才能在Excel中繪製它?

這是我的數據(所以我只想顯示這個矩陣的元素,但是正如你在圖中看到的那樣,它顯示從零到x軸的所有索引,我想只顯示x中非零值的索引軸)

1 0.0573770000000000 
    2 0.622951000000000 
    3 0.0819672000000000 
    4 0.0491803000000000 
    5 0.0409836000000000 
    6 0.00819672000000000 
    7 0.00819672000000000 
    8 0.0163934000000000 
    10 0.00819672000000000 
    12 0.00819672000000000 
    14 0.00819672000000000 
    19 0.0163934000000000 
    34 0.00819672000000000 
    50 0.00819672000000000 
    54 0.00819672000000000 
    62 0.00819672000000000 
    175 0.00819672000000000 
    410 0.00819672000000000 
    1178 0.00819672000000000 
    1193 0.00819672000000000 
    1669 0.00819672000000000 

它有非常糟糕的visualisation.Is它可能在matlab或我應該使用其他軟件? My data

Roney在我的數據中的結果。 (我想從每個欄下面我的數據在x軸的真正的標籤。)

The result of Roney answer

感謝

回答

2

如果你指的是你要沒有他們之間的差距要顯示非零酒吧零個值,你可以做到以下幾點:

>> non_zero = A(:,2) ~= 0; 
>> bar(A(non_zero,2)) 
>> set(gca, 'XTick', 1:sum(non_zero)); %New code. 
>> set(gca, 'XTickLabel', num2str(A(non_zero,1))); 

對於比方說,

>> 
A = [ 
1 0.001 
2 0.005 
4 0 
5 0.003 
]; 

得到的數字是:

enter image description here

爲您的數據,其結果必然是:

enter image description here

+0

感謝。你的例子是正確的,但它不適用於我的數據。我將我的數據添加到問題中。 – Fatime 2013-05-11 12:56:23

+0

@Fatime:我在代碼中增加了一行。它現在應該工作得很好。 – 2013-05-11 16:50:50

+0

謝謝,它工作。但標籤有可視化不好。我可以垂直更改x軸的標籤以獲得更好的可視性嗎? – Fatime 2013-05-12 05:49:18