MATLAB中的绘图条

MATLAB中的绘图条,matlab,graph,plot,Matlab,Graph,Plot,我在MATLAB中有一个矩阵(4100)。它的每一列都是这样的:第一个元素 矩阵(1,i)较小,第四元素矩阵(4,i)较大。差不多 matrix(:,1) = - 0.3; 0,4; 0,4; 0,9 如果我可以将两条边之间的距离绘制为条形图,那么如何绘制条形图呢 每一列都必须用横杆表示,以便在端部形成100根横杆 谢谢我假定边是指第一个和第四个元素 您可以使用: diff = abs(matrix(1,:) - matrix(4,:)); // distance bar(diff);

我在MATLAB中有一个矩阵(4100)。它的每一列都是这样的:第一个元素 矩阵(1,i)较小,第四元素矩阵(4,i)较大。差不多

    matrix(:,1) = - 0.3; 0,4; 0,4; 0,9
如果我可以将两条边之间的距离绘制为条形图,那么如何绘制条形图呢

每一列都必须用横杆表示,以便在端部形成100根横杆


谢谢

我假定
是指第一个和第四个元素

您可以使用:

diff = abs(matrix(1,:) - matrix(4,:)); // distance
bar(diff); // bar plot

我不确定这是否是您想要的,但您可以用不同的颜色绘制所有条形图,从最大的(矩阵的最后一行)到最小的(矩阵的第一行),以便将较小的条形图堆叠起来,但让较大的条形图可见:

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

谢谢你,路易斯,事实上我使用了你的代码,并且我确实成功地制作了我想要的图形,尽管我有一个问题:我还不明白-1:1在“for”语句中做了什么。@Spyros它在行索引上循环,从
大小(矩阵,1)
到1,步长为1。类似于C中的(j=大小(矩阵,1);j>=1;j--)的