GUI with multiple figures
2 次查看(过去 30 天)
显示 更早的评论
Hi all,
I am preparing a GUI to display two figures that I have created in a m.file. The two plots are the result of a series o calculations and number of variables.
The code for the figures is the following:
figure(1)
plot(y_axis,log_scale);
xlabel('Depth (mm)')
ylabel('Relative attenuation (dB)')
axis tight
figure (2)
imagesc(x_axis,y_axis,grayscale);
colormap(gray);
xlabel('Lateral length (mm)')
ylabel('Depth (mm)')
To start the GUI, I have defined a push button that runs the m.file. I have created axes1 and axes2 to allocate the plots.
Only works if I would have a single plot, as axes1 automatically detects the figure. To give instructions for each axes, I have created 2 push buttons. Here is what I write for each push button (only one showed for simplicity):
% --- Executes on button press in Plot1.
function Plot1_Callback(hObject, eventdata, handles)
% hObject handle to Plot1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
axes(handles.axes1)
plot(y_axis,log_scale);
xlabel('Depth (mm)')
ylabel('Relative attenuation (dB)')
axis tight
..and of course it does not work. I have seen similar questions to the topic, but they are different to my case since my plots originate from the m.file.
Any tips?
Thanks
0 个评论
回答(2 个)
Nagini Venkata Krishna Kumari Palem
2017-3-27
In my understanding the issue with your code is that the callback is not executed when the push button is clicked. I was looking at the code, after an initial check I think the callback was not invoked anywhere. You may make a call to the callback function in various ways, one of the way is as follows,
pushbutton.Callback = @(~,~,~)pushbutton_Callback(hObject,eventdata,handles);
Please refer to the link below if you need more information on callbacks.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Annotations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!