【问题标题】:Increase space between group of bars Matlab增加条形组Matlab之间的空间
【发布时间】:2015-10-21 09:51:08
【问题描述】:

我有以下图片

    figure
    y = [2 2 3 2 5 6 2 8 9];
    h=bar(y)
    name_x = {'0','1','2','4','5','6','8','9','10'}
    set(gca,'Xtick',1:9,'XTickLabel',name_x,'XTickLabelRotation',45)

我想增加名为 0 1 2 的第一组条与名为 4 5 6 的第二组条之间的间距。接下来还要增加名为 8 9 10 的第二组和第三组之间的间距。

我无法重新创建图形...创建后是否可以对其进行修改(我有句柄)?

【问题讨论】:

  • 我认为您需要使用figurepatch 自定义您的情节。

标签: matlab plot bar-chart


【解决方案1】:
figure
y = [2 2 3 NaN 2 5 6 NaN 2 8 9];
bar(y)
name_x = {'0','1','2','','4','5','6','','8','9','10'}
set(gca,'Xtick',1:11,'XTickLabel',name_x,'XTickLabelRotation',45)

顺便说一句,'XTickLabelRotation',45 在 Matlab 2015a 上为我抛出了一个错误

此外,如果您想消除间隙中的刻度线,则应使用1:11 而不是[1 2 3 5 6 7 9 10 11]

【讨论】:

  • 嗨,丹。我无法重新创建这个数字。我需要在创建后对其进行修改
  • 如果您从图中提取数据,@gabboshow 可能是最简单的。所以...您的代码没有调用bar(y)
  • 不,我只有图片...我发布的代码是一个示例,让图片看起来像我的...
  • 请编辑您的问题,以便更加明确。图片是什么格式的?您需要这样做多少次?你确定这不是 Photoshop 的工作吗?