I suggest that instead of having your measurements function as a callback, that you use something like
function [out] = measurements
mesnames = {'mass', 'velocity', 'time', 'acceleration', 'speed'};
mesvals = {[ 23 45 44], [34 53 32], [1 2 3], [32 22 12], [12 33 44]};
out = struct('name', mesnames, 'value', mesvals);
Then
handles.measurements = measurements();
handles.list1 = uicontrol('Style', 'listbox','Position',[100 100 200 200],...
'string',yourcell, 'Callback',@select_n_plot);
handles.list2 = uicontrol('Style', 'listbox','Position',[300 100 200 200],...
'string',yourcell, 'Callback', @select_n_plot);
guidata(gcf, handles);
function select_n_plot(hObject, event)
handles = guidata(hObject);
list1val = get(handles.list1,'Value');
list1var = handles.measurements(list1val);
list1varname = list1var.name;
list1varval = list1var.value;
and likewise for list2. After that, plot list1varval against list2varval and label with list1varname and list2varname
Best Answer