Xlabel in figure is only at center position when the figure is big

3 ビュー (過去 30 日間)
Michael Werthmann
Michael Werthmann 2021 年 7 月 12 日
コメント済み: Michael Werthmann 2021 年 7 月 13 日
Hello,
I have a problem with visualising data. I want to move the xlabel of a plot inside the axis. I use this code for it:
figure
[jac_c, jac_m, jac_h, jac_gnames] = multcompare(jac_stats, 'CType','dunn-sidak');
title('');
xlh = xlabel('Ranks');
set(gca, 'FontSize', fsz, 'LineWidth', alw, 'fontname',ft);
set(findobj(gca,'type','line'),'linew', lw);
xlh.Position(2) = xlh.Position(2) + 0.5;
print('jac_anova','-dpng','-r300');
For some cases this works well:
However, for other it does not, since the xlabel is not centered anymore:
For this case, the xlabel is only centered when I expand the figure:
What is going wrong here?
Thanks and kind regards
Michael

採用された回答

Chunru
Chunru 2021 年 7 月 13 日
When you set the xlim and ylim as auto by default, they will change automatically when the axes is resized. So the position of the label may be changed. To ensure the label is at the centre, set tha axis limit manually before issuing xlabel command:
plot(randn(10,1), randn(10,1), 'ro');
xlim([-3 3]);
hx = xlabel('Ranks');
hx.Position(2) = hx.Position(2) + 1;
  1 件のコメント
Michael Werthmann
Michael Werthmann 2021 年 7 月 13 日
It worked,
thank you very much!
Regards
Michael

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeAnalysis of Variance and Covariance についてさらに検索

製品


リリース

R2017b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by