MATLAB : user choose the limits of the xaxis
1 次查看(过去 30 天)
显示 更早的评论
Hello,
I have a graph in a figure and I would like to put some buttons to allow the user to choose the beginning of xaxis and the end.
For example, if my x axis is 1:1:10. And the user choose xmin=2 and xmax=6. I would like to plot only this part. After, with a button reset, all the courb will be plot again.
How can I do that ?
Thank you in advance,
Best regards,
0 个评论
采纳的回答
Brendan Hamm
2015-3-31
编辑:Brendan Hamm
2015-3-31
The following code creates a plot of the input data. It has 2 text boxes which are editable and upon pushing the 'Update' button will change the XLim property of the axes.
function btnUpdate(x,y)
f = figure;
a = axes('Position',[0.075 0.25 0.85 0.65]);
p = plot(x,y);
lwLim = uicontrol(f,'Style','edit',...
'Units','Normalized','Position',[0.20 0.1 0.2 0.05]);
lwTxt = uicontrol(f,'Style','text',...
'Units','Normalized','Position',[0.10 0.09 0.1 0.05],...
'String','xMin:');
upLim = uicontrol(f,'Style','edit',...
'Units','Normalized','Position',[0.60 0.1 0.2 0.05]);
upTxt = uicontrol(f,'Style','text',...
'Units','Normalized','Position',[0.50 0.09 0.1 0.05],...
'String','xMax:');
btn = uicontrol(f,'Style','pushbutton',...
'Units','Normalized','Position',[0.85 0.05 0.1 0.05],...
'String','Update','Callback',@btnCallback);
function btnCallback(src,evt)
a.XLim = [str2num(lwLim.String) str2num(upLim.String)];
end
end
For a sample call:
x = -3*pi:pi/50:3*pi;
y = sin(x);
btnUpdate(x,y);
Play with the axes and have fun!
1 个评论
Brendan Hamm
2015-3-31
I should point out in versions prior to 2014b the callback function line should read:
set(a,'XLim',[str2num(lwLim.String) str2num(upLim.String)]);
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Annotations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!