Matlab:条形图中缺少标签
在Matlab 2012和2013中,我发现在Matlab:条形图中缺少标签,matlab,charts,bar-chart,diagram,Matlab,Charts,Bar Chart,Diagram,在Matlab 2012和2013中,我发现在条形图上设置XTickLabel最多只能在15个条形图上工作。如果有更多条,则缺少标签,如下所示 绘制15个条形图: N = 15; x = 1:N; labels = num2str(x', '%d'); bar(x); set(gca, 'XTickLabel', labels); 绘制16条线: N = 16; x = 1:N; labels = num2str(x', '%d'); bar(x); set(gca, 'XTickLabel
条形图上设置XTickLabel
最多只能在15个条形图上工作。如果有更多条,则缺少标签,如下所示
绘制15个条形图:
N = 15;
x = 1:N;
labels = num2str(x', '%d');
bar(x);
set(gca, 'XTickLabel', labels);
绘制16条线:
N = 16;
x = 1:N;
labels = num2str(x', '%d');
bar(x);
set(gca, 'XTickLabel', labels);
对于N>15
,它将始终仅显示10个标签
还有其他人经历过吗?有什么解决办法吗?我需要所有标签,因为我正在绘制离散的类别,而不是一个连续的函数。这是因为记号标签必须与记号本身匹配。在您给出的示例中,N=16代码>和x=1:N代码>,MATLAB自动执行以下XTick
s(至少在您和我的机器上):
16个不同的条只有10个刻度。因此,当您运行set(gca,'XTickLabel',labels)代码>带有标签=num2str(x','%d')代码>(16个标签),它给出了显示的第二个图形,该图形在条形图之前/之后(位置0和18处)有错误的标签和记号
要为每个条设置记号标签,还需要将记号设置为匹配:
set(gca,'XTick',x) % this alone should be enough
set(gca,'XTickLabel',labels);
然后您将获得所需的结果:
无论出于何种原因,16似乎是MathWorks决定不应为每个条绘制XTick
s的神奇数字,让用户根据需要进行设置。谢谢!很遗憾,这种不一致性在报告中没有得到解释。
set(gca,'XTick',x) % this alone should be enough
set(gca,'XTickLabel',labels);