如何用Matlab在特定位置显示两个图形

如何用Matlab在特定位置显示两个图形,matlab,plot,matlab-figure,Matlab,Plot,Matlab Figure,大家好 当我运行一个生成两个绘图的Matlab代码时,这些绘图被过度绘制(第二个在第一个之上) 我想得到这个图的结果,其中两个图类似于子图(211)和子图(212),第一个和第二个在两个冒号中,但不使用子图 有可能吗 更新 我使用两个子菜单生成两个绘图: function create_figure(X1, YMatrix1, p) %CREATE_FIGURE(X1, YMATRIX1) % X1: vector of x data % YMATRIX1: matrix of y da

大家好

当我运行一个生成两个绘图的Matlab代码时,这些绘图被过度绘制(第二个在第一个之上)

我想得到这个图的结果,其中两个图类似于
子图(211)
子图(212)
,第一个和第二个在两个冒号中,但不使用
子图

有可能吗

更新

我使用两个子菜单生成两个绘图:

function create_figure(X1, YMatrix1, p)
%CREATE_FIGURE(X1, YMATRIX1)
%  X1:  vector of x data
%  YMATRIX1:  matrix of y data
%  P: parameters used in legend

% Create figure
figure1 = figure('Name','Acceleration Power vs. Velocity LPF 1st order');
...

当然,我可以在输出中给出参数
图1
,写:

function figure1 = create_figure(X1, YMatrix1, p)

我认为哪个参数可以设置两个绘图的位置,但我不知道有关通用窗口大小的程序。

这将生成两个并排绘图的图形:

x = 0:0.1:2*pi;
y1 = sin(x);
y2 = cos(x);

h1=figure
plot(x,y1);
h2=figure
plot(x,y2);
% x, y, width, height
set(h1,'Position',[20 616,560,420])
set(h2,'Position',[20+560 616,560,420])

您还可以将单位设置为“标准化”,并输入图形的相对位置:

set(h1,'Units','normalized');
set(h2,'Units','normalized');
set(h1,'Position',[0.1021    0.1708    0.2917    0.3500]);
set(h2,'Position',[0.4021    0.1700    0.2917    0.3508]);

通过这种方式,您可以独立于当前屏幕分辨率。

请将代码张贴在生成绘图的位置……不完全是这样,两个绘图超出屏幕大小(向上)。位置号是像素,因此请将它们设置为任意值。我有1980x1200,我把图放在上角。谢谢。你的回答对我来说并不准确,但有了你我就解决了这个问题。我使用
set(图1,'Position',[52 130 560 420])
set(图1,'Position',[632 130 560 420])
set(h1,'Units','normalized');
set(h2,'Units','normalized');
set(h1,'Position',[0.1021    0.1708    0.2917    0.3500]);
set(h2,'Position',[0.4021    0.1700    0.2917    0.3508]);