bar plot cannot spread x axis homogeneously

6 次查看(过去 30 天)
imp_2d_E=[0 -1;0 0;0 3;0 0;0 0;0 0;0 0;2 3;0 0;1 0;0 0;0 1;0 0;0 0;1 0;0 0;1 1;0 0;2 2;0 0];
bar(imp_2d_E)
set(gca,'XTick',[]);
xtl = {'ALIC','AMC4','BOGT','BSHM','CPVG','DAV1','KZN2','LPGS','MADR','MCM4','MIZU','NAUR','NKLG','PALM','PIMO','SAMO','SUTH','TRO1','URUM','YEL2'};
xtnew = linspace(1, numel(xtl), numel(xtl));
set(gca, 'XTick',xtnew, 'XTickLabel',xtl, 'XTickLabelRotation',90);
title('2D improvement (cut-off:5)','FontWeight','bold','FontSize',22);
xlabel('STATIONS', 'FontWeight', 'bold','FontSize',20);
ylabel('millimeter ', 'FontWeight','bold','FontSize',20)
legend('24h','12h');
set(gca,'FontWeight','bold')
set(gca,'fontsize',20)
ylim([-2 4])
When executing the above codes, x axis cannot be homogeneously spreaded and unreasonable space from the right side has remained. How can I correct this limitation?
  1 个评论
Adam Danz
Adam Danz 2019-7-15
编辑:Adam Danz 2019-7-15
The code you shared doesn't reproduce the problem when I run it (r2019a). The image below is the result of your code and I added the "grid on" command. Are you sure you're not setting the xlim() somewhere?

请先登录,再进行评论。

采纳的回答

Star Strider
Star Strider 2019-7-15
Either add a xlim call, or define both axes limits at the same time, and replace your ylim call with an axis call:
axis([0 20 -2 4])

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Creating, Deleting, and Querying Graphics Objects 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by