我有以下代码:
mean_h =[11.9877,13.3937,16.1717];
std_h = [12.5379,10.2732,10.8000];
subplot(2,1,1)
hold on
h = bar(1:3,mean_h,0.2);
errorbar(1:3,mean_h,std_h,'s','MarkerSize',10,...
'MarkerEdgeColor','red','MarkerFaceColor','red');
name = {'4 mics','9 mics','24 mics'};
set(gca,'XTick',[1 2 3],'XTickLabel',{'4 mics','9 mics','24 mics'});
set(gca,'fontsize', 21);
legend({'mean_{hor}', 'std_{hor}'});
grid on
xlabel(' 3 different subsets of horizontal microphone pair combinations of
microphone array 3');
ylabel('Mean/stds rmse`s [°]');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Mean and standard devaiation for vertical rmse's of microphone array 3
mean_v =[7.3022,11.3737,16.2675];
std_v =[6.2369,9.9813,10.3599];
subplot(2,1,2)
hold on
h = bar(1:3,mean_v,0.2);
errorbar(1:3,mean_v,std_v,'s','MarkerSize',10,...
'MarkerEdgeColor','red','MarkerFaceColor','red');
name = {'4 mics','9 mics','24 mics'};
set(gca,'XTick',[1 2 3],'XTickLabel',{'4 mics','9 mics','24 mics'});
set(gca,'fontsize', 21);
legend({'mean_{ver}', 'std_{ver}'});
grid on
xlabel('3 different subsets of vertical microphone pair combinations of
microphone array 3');
ylabel('Mean/stds rmse`s [°]');
现在,当我绘制这两个子图时,我面临着xlabels和ylabels的对齐问题。它们不对齐。谁能帮我解决这个问题。谢谢
答案 0 :(得分:1)
如果图形不同,它们将无法对齐。您的情况是不同的。
您可以手动执行操作,也可以使用text(my_x, my_y,'mylabel')
进行正确设置。我在下面写了一个例子。
a=1:10;
b=a.^2;
subplot(4,1,1)
plot(a,b)
ylabel(' long text')
subplot(4,1,2)
plot(a,a)
ylabel('long even long text')
subplot(4,1,3)
hold
plot(a,b)
text(0,50,'long text','HorizontalAlignment','center','VerticalAlignment','middle', ...
'FontSize',12,'Rotation',90)
subplot(4,1,4)
hold
plot(a,a)
text(0,5,'long even long text','HorizontalAlignment','center','VerticalAlignment','middle', ...
'FontSize',12,'Rotation',90)
请注意,最后两个对齐,但是有必要像我一样手动输入坐标。 提示,您经常会使用数据并将其移动固定的百分比(例如,图形总长度的最小-10%),从而可以“自动化”脚本。
另一种方法是使用ylabel的Position
属性。但是,这类似于上述方法。为此,请使用
t=ylabel('long text')
t =
Text ( long text) with properties:
String: ' long text'
FontSize: 11
FontWeight: 'normal'
FontName: 'Helvetica'
Color: [0.15 0.15 0.15]
HorizontalAlignment: 'center'
Position: [0.3333 50 -1]
%other things here too
%overwrite the property
% Here you have to put [X_position Y_position Z_position]
t.Position= [0.2 50 -1];
要使其正常工作,每个x / ylabel都需要使用自己的名称或相同的名称,但是在再次调用该命令之前更新位置。