我有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中使用或者我应该使用其他软件?
Roney的结果在我的数据中回答。 (我希望我的数据中的真实标签位于x轴的每个条形下方。)
由于
答案 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
];
结果数字是:
对于您的数据,结果将是: