【问题标题】:Plot bars in MATLAB在 MATLAB 中绘制条形图
【发布时间】: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 graph plot


    【解决方案1】:

    我不确定这是否是您想要的,但您可以绘制不同颜色的所有条形图,从最大的(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
    

    【讨论】:

    • 谢谢你,Luis 实际上我使用了你的代码,并且我实际上设法制作了我想要的图表,尽管我有一个问题:我不明白 :-1:1 在做什么“for”语句。
    • @Spyros 这将行索引从 size(matrix,1) 循环到 1,步长为 1。类似于 C 中的 for (j = size(matrix,1); j >= 1; j--)
    【解决方案2】:

    我假设edges 是指第一个和第四个元素。

    你可以使用:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-27
      • 1970-01-01
      相关资源
      最近更新 更多