【问题标题】:Bar graph x-axis titles do not work with many bars条形图 x 轴标题不适用于许多条形图
【发布时间】:2013-12-12 18:29:47
【问题描述】:

我正在使用 MATLAB,我想要一个条形图。 我绘制了条形图,然后给这些条形图赋予标题。

如果我只使用 10 条,它就可以工作(见图 1)。

但我经常需要更多,主要是 32 条(见图 2)。 在这种情况下,标题不在横杠下方。我发现 MATLAB 不重叠标题。最大值为 15 条。

有谁知道如何让 MATLAB 重叠标题?

这是我绘制条形的代码:

y = absSlopes(1, 1:size(absSlopes,2));
hb = bar(y);
set(gca,'XTickLabel',titles);
rotateXLabels(gca, 45);
ylabel('Anzahl');

absSlopes 是一个矩阵,我使用完整的第一行。

【问题讨论】:

    标签: matlab plot


    【解决方案1】:

    除了XTickLabel,您可能还想尝试XTick。至少对于常规地块,您可以通过此设置强制执行特定间距。

    您可以通过附加的设置命令来做到这一点:

    set(gca,'XTickLabel',titles);
    set(gca,'XTick',absSlopes(1,:));
    

    当然,您可以在同一行中设置这两个属性,但我希望保持简单,以防您稍后想停用/评论其中一个或其他设置。

    【讨论】:

    • 非常感谢,我达到了目标;)我只将您的解决方案编辑为“set(gca,'XTick',1:size(absSlopes,2));”真的非常感谢你:-)
    • @pyStarter 1:size(absSlopes,2) 是否需要按照 SolarTurtle 的建议出现在第二个 set 命令中?显然,他的编辑被拒绝了,OP 将“解决方案”放在他的问题中。 :)
    • 我不这么认为,因为没关系。原因如下:absSlopes(1,:) 将抓取 absSlopes 第一行的所有列。另一方面,1:size(absSlopes,2) 将包含 absSlopes 从 1 到结束的所有列索引,因此 absSlopes(1, 1:size(absSlopes,2)) 将返回与我的(更短的)命令相同的值。
    猜你喜欢
    • 1970-01-01
    • 2017-08-30
    • 1970-01-01
    • 2016-03-08
    • 1970-01-01
    • 1970-01-01
    • 2017-09-11
    • 2013-02-26
    • 2021-07-24
    相关资源
    最近更新 更多