Resize/Change Matlab中的图轴范围
Resize/Change Figure Axis Range in Matlab
我的 Matlab GUI 中有一个按钮可以在新图中打开轴图,这是我的代码:
fig=figure;
set(fig, 'Position', [100, 100, 1049, 895]);
h=handles.axes2;
copyobj(h,fig);
set(gca,'units','pix')
set(gca,'units','norm')
但是,新图中的轴非常小:
但是当我尝试在之前代码的底部添加这一行时:
set(gca,{'Position',[100, 100, 1049, 895]}); % [left bottom right top]
没有任何变化...我也尝试过更改数字,但轴的大小没有调整...
谁能告诉我我做错了什么?
谢谢
使用轴命令:
% whatever code you have
plot(x,y,'-o');
% now add limits for the axisX and axisY
% that combined with the position limit should zoom your picture automatically
% x1, x2, y1, y2 should be actual values like 0.5, 1, -4 etc. whatever you find appropriate
% if it doesnt zoom as you expect - remove the Position setting and see how it looks.
axis([x1 x2 y1 y2]);
有关更多信息,请参阅来自 matlab 站点的示例:http://www.mathworks.com/help/matlab/ref/axis.html
只是为了了解更多信息,还有其他函数称为 xlim and ylim 它们可以单独设置轴,而且很好的是它们可以自动缩放。
例如,您想放大 x=10 o 100,但不知道期望的 y 值是多少。如您所知,轴命令需要 axis([xmin xmax ymin ymax])
但如果您只是执行
xmin = 10;
xmax = 100;
xlim([xmin, xmax]);
这将放大到适当的 X,并将 Y 自动缩放到适当的大小。
我的 Matlab GUI 中有一个按钮可以在新图中打开轴图,这是我的代码:
fig=figure;
set(fig, 'Position', [100, 100, 1049, 895]);
h=handles.axes2;
copyobj(h,fig);
set(gca,'units','pix')
set(gca,'units','norm')
但是,新图中的轴非常小:
但是当我尝试在之前代码的底部添加这一行时:
set(gca,{'Position',[100, 100, 1049, 895]}); % [left bottom right top]
没有任何变化...我也尝试过更改数字,但轴的大小没有调整...
谁能告诉我我做错了什么?
谢谢
使用轴命令:
% whatever code you have
plot(x,y,'-o');
% now add limits for the axisX and axisY
% that combined with the position limit should zoom your picture automatically
% x1, x2, y1, y2 should be actual values like 0.5, 1, -4 etc. whatever you find appropriate
% if it doesnt zoom as you expect - remove the Position setting and see how it looks.
axis([x1 x2 y1 y2]);
有关更多信息,请参阅来自 matlab 站点的示例:http://www.mathworks.com/help/matlab/ref/axis.html
只是为了了解更多信息,还有其他函数称为 xlim and ylim 它们可以单独设置轴,而且很好的是它们可以自动缩放。
例如,您想放大 x=10 o 100,但不知道期望的 y 值是多少。如您所知,轴命令需要 axis([xmin xmax ymin ymax])
但如果您只是执行
xmin = 10;
xmax = 100;
xlim([xmin, xmax]);
这将放大到适当的 X,并将 Y 自动缩放到适当的大小。