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!