绘图直方图(更改轴)

时间:2013-05-11 11:11:51

标签: image excel matlab image-processing

我有n * 2矩阵,例如矩阵A.第一列是一些索引,第二列是直方图。我想只显示非零直方图,因此,我过滤了A并删除了直方图为零的索引。我用

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

我没有使用excel。我怎样才能在excel中绘制它?

这是我的数据(所以我想只显示这个矩阵的元素,但是如图所示,它显示从0到0的所有索引,我想在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

它具有非常糟糕的可视化。是否可以在matlab中使用或者我应该使用其他软件? My data

Roney的结果在我的数据中回答。 (我希望我的数据中的真实标签位于x轴的每个条形下方。)

The result of Roney answer

由于

1 个答案:

答案 0 :(得分: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