重新定位xlabel

阿米尔

使用我在Matlab中的绘图代码,为什么我仍然在定位问题xlabel您需要将XLabel.Y位置降低-0.03,如您在图像中看到的那样。

figure;
h2=bar([mean(o2_ExecNorm(:,:,8)-1,2) mean(o3_ExecNorm(:,:,5)-1,2)]);
set(gca, 'XTickLabel',unique([bench.application]), 'XTick',1:numel(unique([bench.application])))
hold on
axis([0 25 -0.3 2.5])
set(gca,'FontName','AvantGarde')
xticklabel_rotate([],35,[]) 
set(findobj(gca,'Type','text'),'FontSize',14, 'FontWeight','Bold','FontName','courier');
set(gcf, 'color', [1 1 1])
ylabel({'Performance improvement w.r.t -O3 and -O2'},'FontSize',24,'FontWeight','bold');
legend({'w.r.t -O2','w.r.t -O3'})

显然这部分不起作用:

vec_pos = get(get(gca, 'XLabel'), 'Position');
set(get(gca, 'XLabel'), 'Position', vec_pos + [0 -0.03 0]);
set(gca,'YTickLabel', 1:.5:3)
hold off

在此处输入图片说明

走走

我认为最简单的解决方案是不使用xticklabel_rotate随着Matlab R2014b和新图形引擎的推出,它已过时

而是执行以下操作:

ax = gca;
ax.XTickLabelRotation = 35;

在这里有一些更深入的了解:MATLAB R2014b图形–第1部分:新图形系统的功能

新的图形引擎可能还会导致xticklabel_rotate无法正常工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章