如何用Matlab在特定位置显示两个图
How to display two plot in a specific position with Matlab
大家好,
当我 运行 生成两个图的 Matlab 代码时,它们被过度绘制(第二个在第一个之上)。
我想得到这个图的结果,其中两个图就像 subplot(211)
和 subplot(212)
中的一样,第一个和第二个用两个冒号表示,但不使用 subplot
.
有可能吗?
更新
我用两个子函数生成了这两个图:
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');
...
和
function create_figure_gamma(X1, YMatrix1, p)
%CREATE_FIGURE_GAMMA(X1, YMATRIX1, P)
% X1: vector of x data
% YMATRIX1: matrix of y data
% P: parameters used in legend
% Create figure
figure1 = figure('Name','gamma trend vs. Velocity');
...
当然,我可以输出参数figure1
,写成:
function figure1 = create_figure(X1, YMatrix1, p)
我认为这个参数可以设置两个图的位置,但我不知道该程序是否尊重通用 window 大小。
这将产生两个并排的图形:
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])
您还可以将单位设置为 'normalized' 并输入数字的相对位置:
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]);
这样你就不受当前屏幕分辨率的影响了。
大家好,
当我 运行 生成两个图的 Matlab 代码时,它们被过度绘制(第二个在第一个之上)。
我想得到这个图的结果,其中两个图就像 subplot(211)
和 subplot(212)
中的一样,第一个和第二个用两个冒号表示,但不使用 subplot
.
有可能吗?
更新
我用两个子函数生成了这两个图:
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');
...
和
function create_figure_gamma(X1, YMatrix1, p)
%CREATE_FIGURE_GAMMA(X1, YMATRIX1, P)
% X1: vector of x data
% YMATRIX1: matrix of y data
% P: parameters used in legend
% Create figure
figure1 = figure('Name','gamma trend vs. Velocity');
...
当然,我可以输出参数figure1
,写成:
function figure1 = create_figure(X1, YMatrix1, p)
我认为这个参数可以设置两个图的位置,但我不知道该程序是否尊重通用 window 大小。
这将产生两个并排的图形:
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])
您还可以将单位设置为 'normalized' 并输入数字的相对位置:
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]);
这样你就不受当前屏幕分辨率的影响了。