GUI sliders that update a plot and create a subsection of data
Show older comments
I am trying to create a GUI with uicontrol with sliders that will go on to section up my dataset depending on where the user sets the sliders on the data, How can I do this and use the values set by the user to trim down my dataset and use the smaller dataset for the rest of my function? This is what I have created so far
sldplot=plot(data)
btn = uicontrol('Style', 'pushbutton', 'String', 'Clear','Position', [20 20 50 20],'Callback', 'cla');
sld = uicontrol('Style', 'slider','Min',1,'Max',n,'Value',41,'Position', [400 20 120 20],'Callback', @plotxlim);
sld2 = uicontrol('Style', 'slider','Min',1,'Max',n,'Value',41,'Position', [200 20 120 20],'Callback', @plotxlim);
txt = uicontrol('Style','text','Position',[400 45 120 20],'String','First cut');
txt2 = uicontrol('Style','text','Position',[450 50 125 25],'String','Second cut');
addlistener(sld,'ActionEvent',@(sldObject, event) makeplot(sldObject, event,xn,sldplot));
addlistener(sld2,'ActionEvent',@(sld2Object, event) makeplot(sld2Object, event,xn,sldplot));
n2 = get(sldObject,'Value');
n3 = get(sld2Object, 'Value');
set(sldplot,'ydata',x.^n);
drawnow;
but there is some issues I keep getting an error saying that 'ActionEvent' is not defined for class 'matlab.ui.control.UIControl'. Also I am not sure how to use this to then create a new subset of data.
Answers (1)
Jan
on 16 Mar 2015
Since Matlab 2014a the event has a new name:
addlistener(hSlider, 'ContinuousValueChange', @myCallbackFcn);
It is not clear how you define "a new subset of data". Therefore I cannot answer the 2nd question.
Categories
Find more on Migrate GUIDE Apps 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!