gpt4 book ai didi

matlab - 如何调整子图的高度?

转载 作者:行者123 更新时间:2023-12-02 03:20:36 26 4
gpt4 key购买 nike

我有两个子图,我需要让第一个子图的大小大于第二个子图,因为第二个子图是触发信号。我已经调整了大小并减少了子图之间的差距。但问题是,当我尝试增加第一个子图的高度时,它超出了图形。我已经尝试了很多但找不到解决方案。下面是代码:

figure

x = (Messwerte.mste_w.value);
x = x';
%calculates the integral for all the values
t = cumtrapz(x);
subplot(9,1,1);
%plotting mste_w and its integral together
[ax,h1,h2] = plotyy(Messwerte.(Messwerte.mste_w.time),...
Messwerte.mste_w.value,Messwerte.(Messwerte.mste_w.time),t,@area,@plot);

set(h1, 'FaceColor', 'g','LineWidth', 2);
set(h2, 'LineWidth', 2);
set(gca,'ButtonDownFcn','selectmoveresize');
set(gcf,'WindowButtonDownFcn','selectmoveresize');
A = get(gca,'position');
A_diff = 1.5*A(4);
A(4) = A(4) + A_diff;
A(2) = A(2)-0.15*A(2) ;
set(gca,'position',A);
%set(ax(1),'xtick',[0:500:2000])
set(ax(1),'ylim',[0 7],'ytick',[0:1:7])
%set(ax(2),'xtick',[0:500:2000])
set(ax(2),'ylim',[0 70000],'ytick',[0:10000:70000])
axes(ax(1)); ylabel('mste-w','color','k');
axes(ax(2)); ylabel('Spülvolumen in miliLiter');
%xlabel('time[s]')
set(ax(1),'YColor', 'k');
set(ax(2),'YColor', 'k');
grid on
% title('FTP75 AKB beladen')


subplot(9,1,2);
plot(Messwerte.(Messwerte.B_te.time),Messwerte.B_te.value);
A = get(gca,'position');

% A(1,4) = 2*A(1,4) / 3 ; % reduce the height by one third
% A(1,2) = A(1,2) - 0.1*A(1,4); % change the vertical position

A_diff = A(4)/3;
A(4)=A(4)-A_diff;
A(2)=A(2)-0.5*A_diff;
set(gca,'position',A);
area(Messwerte.(Messwerte.B_te.time),Messwerte.B_te.value,...
'FaceColor','g');
set(gca,'xtick',[0:500:2000]);
set(gca,'ytick',[]);
ylabel('B-te');

最佳答案

因此,据我了解,您有两个子图,共占图形高度的 2/9,您希望将第二个的大小减小到默认值的 2/3,并增加第一个大小为默认值的 4/3。

所以我们希望第一个子图是高度的 (4/3) x (1/9) = 4/27,第二个子图是 (2/3) x (1/9) = 2/27的高度。最简单的方法是:

subplot(27,1,1:4);
% plot first figure
subplot(27,1,5:6);
% plot second figure

关于matlab - 如何调整子图的高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33753071/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com