how to move the plots when slider is dragged.

2 ビュー (過去 30 日間)
rafi abdul
rafi abdul 2013 年 2 月 24 日
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');

回答 (1 件)

ChristianW
ChristianW 2013 年 2 月 25 日
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

カテゴリ

Help Center および File ExchangeAnnotations についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by