how to move the plots when slider is dragged.
4 views (last 30 days)
Show older comments
Hi i have 3 plots in same figure,i want to add slider so that when i drag slider plots should be moved.please help.here is my code
x = 0:20;
N = numel(x);
y1 = rand(1,N);
y2 = 5.*rand(1,N)+5;
y3 = 50.*rand(1,N)-50;
%# Some initial computations:
axesPosition = [110 40 200 200]; %# Axes position, in pixels
yWidth = 30; %# y axes spacing, in pixels
xLimit = [min(x) max(x)]; %# Range of x values
xOffset = -yWidth*diff(xLimit)/axesPosition(3);
%# Create the figure and axes:
figure('Units','pixels','Position',[200 200 330 260]);
h1 = axes('Units','pixels','Position',axesPosition,...
'Color','w','XColor','k','YColor','r',...
'XLim',xLimit,'YLim',[0 1],'NextPlot','add');
h2 = axes('Units','pixels','Position',axesPosition+yWidth.*[-1 0 1 0],...
'Color','none','XColor','k','YColor','m',...
'XLim',xLimit+[xOffset 0],'YLim',[0 10],...
'XTick',[],'XTickLabel',[],'NextPlot','add');
h3 = axes('Units','pixels','Position',axesPosition+yWidth.*[-2 0 2 0],...
'Color','none','XColor','k','YColor','b',...
'XLim',xLimit+[2*xOffset 0],'YLim',[-50 50],...
'XTick',[],'XTickLabel',[],'NextPlot','add');
xlabel(h1,'time');
ylabel(h3,'values');
%# Plot the data:
plot1=plot(h1,x,y1,'r');
plot2=plot(h2,x,y2,'m');
plot3=plot(h3,x,y3,'b');
0 Comments
Answers (1)
ChristianW
on 25 Feb 2013
Heres a basic example, changing xlim via slider callback.
function slider_example
x = 0:pi/32:8*pi;
y = cos(x).^5;
range = 2; % visible x range
P = [x(1)+range/2 x(end)-range/2]; % min and max mean(xlim Positions)
plot(x,y); axis tight; xlim([x(1) range])
uicontrol('style','slider','units','normalized','position',[0 0 1 0.05],...
'callback',@cb_fcn)
function cb_fcn(hObj,event)
% called when slider was used
val = get(hObj,'value');
mxl = val*(P(2)-P(1))+P(1); % mean xlim, denormalize
xlim([mxl-range/2 mxl+range/2])
end
end
0 Comments
See Also
Categories
Find more on Annotations in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!