【发布时间】:2013-12-08 02:20:51
【问题描述】:
我在 MATLAB 中有一个矩阵 (4,100)。它的每一列都是这样的,即第一个元素 matrix(1,i) 较小,第 4 个元素 matrix(4,i) 较大。类似的东西
matrix(:,1) = - 0.3; 0,4; 0,4; 0,9
如果我可以将两条边之间的距离绘制为条形图,我该如何制作条形图?
每列必须用on bar表示,以便在最后制作100个bar。
谢谢
【问题讨论】:
我在 MATLAB 中有一个矩阵 (4,100)。它的每一列都是这样的,即第一个元素 matrix(1,i) 较小,第 4 个元素 matrix(4,i) 较大。类似的东西
matrix(:,1) = - 0.3; 0,4; 0,4; 0,9
如果我可以将两条边之间的距离绘制为条形图,我该如何制作条形图?
每列必须用on bar表示,以便在最后制作100个bar。
谢谢
【问题讨论】:
我不确定这是否是您想要的,但您可以绘制不同颜色的所有条形图,从最大的(matrix 的最后一行)到最小的(matrix 的第一行),这样较小的堆叠起来,但让较大的可见:
matrix = [.1 .2 .3 .4 .5
.2 .3 .5 .6 .7
.4 .4 .8 .7 .8
.5 .6 .9 .8 .9]; %// example data
hold on
colors = {'r','g','b','c'}; %// define colors
for n = size(matrix,1):-1:1 %// iterate over rows, from last to first
bar(matrix(n,:), colors{n})
end
【讨论】:
size(matrix,1) 循环到 1,步长为 1。类似于 C 中的 for (j = size(matrix,1); j >= 1; j--)。
我假设edges 是指第一个和第四个元素。
你可以使用:
diff = abs(matrix(1,:) - matrix(4,:)); // distance
bar(diff); // bar plot
【讨论】: