I have got following set of code – It is basically functioning based on the plot data obtained previously. Main function gets all the data and creates a popupmenu. Nested function help me get histogram for each plot individually.
function pushbuttonhistogram_Callback(hObject, eventdata, handles) % hObject handle to pushbuttonhistogram (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
global filelist; global subitems_plot; global subsubitems_plot; item_index = get(handles.listboxitems, 'Value'); items_list = cellstr(get(handles.listboxitems, 'String')); item = items_list{item_index}; subitem_index = get(handles.listboxsubitems, 'Value'); subitems_list = cellstr(get(handles.listboxsubitems, 'String')); subitem = subitems_list{subitem_index}; subsubitem_index = get(handles.listboxsubsubitems, 'Value'); subsubitems_list = cellstr(get(handles.listboxsubsubitems, 'String')); subsubitem = subsubitems_list{subsubitem_index}; f = figure('Name','Histogram Plot','NumberTitle','off'); figure(f); len = length(filelist); ax = axes('Parent',f,'position',[0.13 0.28 0.77 0.54]); uicontrol('Parent',f,'Style','popupmenu', 'String', filelist, 'Position',[81,54,419,23], 'Callback', @fileselect); function fileselect(source,event) val = source.Value; if isempty(subsubitems_plot) hist(ax, subitems_plot(:, val)); title(ax, {item;subitem}); else hist(ax, subsubitems_plot); title(ax, {item;subitem;subsubitem}); end end
Problem: Not getting any kind of plot. If I add end after nested functioin am getting error –
Illegal use of reserved keyword "end".
and without 'end' nested function does not connect with main function.
Best Answer