Image 打印直方图(更改轴)
我有n*2矩阵,例如矩阵A。第一列是一些索引,第二列是直方图。我只想可视化非零直方图,因此,我过滤了A并删除了直方图为零的索引。我用Image 打印直方图(更改轴),image,excel,matlab,image-processing,Image,Excel,Matlab,Image Processing,我有n*2矩阵,例如矩阵A。第一列是一些索引,第二列是直方图。我只想可视化非零直方图,因此,我过滤了A并删除了直方图为零的索引。我用 bar(A(:,1),A(:,2)) 我没有使用excel。如何在excel中绘制它 这是我的数据(所以我只想显示这个矩阵的元素,但如图所示,它在x轴上显示从零到终点的所有索引,我只想在x轴上显示非零值的索引) 它的可视化效果很差。是否可以在matlab中使用,或者我应该使用其他软件? Roney回答的结果在我的数据中。(我想要x轴每个条下的数据中的真实标签
bar(A(:,1),A(:,2))
我没有使用excel。如何在excel中绘制它
这是我的数据(所以我只想显示这个矩阵的元素,但如图所示,它在x轴上显示从零到终点的所有索引,我只想在x轴上显示非零值的索引)
它的可视化效果很差。是否可以在matlab中使用,或者我应该使用其他软件?
Roney回答的结果在我的数据中。(我想要x轴每个条下的数据中的真实标签。)
谢谢如果您的意思是希望非零值条之间显示零值时没有间隙,可以执行以下操作:
>> 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
];
得出的数字将是:
对于您的数据,结果将是:
谢谢。您的示例是正确的,但它不适用于我的数据。我将数据添加到问题中。@Fatime:我在代码中添加了一行。它现在应该可以工作了。谢谢,它可以工作。但是标签的视觉效果不好。我可以垂直更改x轴的标签以更好地显示吗?@Fatime:可以。这是我最近一直在努力解决的问题。MATLAB不允许您轻松地完成这项工作,但我可以使用它。在上面的图形生成之后,只需给出<代码> RoATATEXPLACK(GCA,-90)。这标志着问题已经解决,并可能在未来造福社会。
>>
A = [
1 0.001
2 0.005
4 0
5 0.003
];