如何用Matlab在特定位置显示两个图形
大家好 当我运行一个生成两个绘图的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
子图(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]);