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

它的可视化效果很差。是否可以在 matlab 中使用,或者我应该使用其他软件? 我的数据

Roney 在我的数据中回答的结果。(我想要 x 轴每个条下方的数据中的真实标签。)

罗尼回答的结果

谢谢

4

1 回答 1

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
];

结果是:

在此处输入图像描述

对于您的数据,结果将是:

在此处输入图像描述

于 2013-05-11T12:21:05.870 回答