2013-05-11 65 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