我一直在試圖從一個外部函數得到一個繪圖到一個GUI內的軸。我是而不是使用GUIDE。我曾嘗試多種方法,但我不斷收到錯誤從外部函數繪製到軸matlab GUI
Not enough input arguments.
Error in dummyGUI/plotButton_callback (line 19)
set(hfigure,'CurrentAxes',handles.axes1)
現在我已經做了一個假的GUI和劇情在命令窗口中進行,但我不能擺脫掉的錯誤。
我的代碼很簡單,如下: 功能dummyGUI
f = figure('Name','Name1','Tag','Name1','Units','Pixels','Position',[50 50 1000 600]);
plotButton = uicontrol('Style', 'pushbutton',...
'Parent', f,...
'String', 'plot',...
'Units', 'pixels', 'Position', [100 400 100 20],...
'Callback',@plotButton_callback);
axes1 = axes('Parent', f,...
'Units', 'pixels', 'Position', [50 50 500 300]);
function plotButton_callback(hObject, eventdata, handles)
hfigure = getappdata(0,'hfigure');
axes1 = getappdata(0,'axes1')
set(hfigure,'CurrentAxes',handles.axes1)
end
end
我在命令窗口中使用的代碼是:
x = 1:100;
plot(x,x.^2);
hfigure = gcf;
hfigure = setappdata('0','hfigure')
也有一些是明顯缺失的,但我沒有想法是什麼。
非常感謝提前。
羅馬諾
感謝您的回答。我試過了,錯誤信息消失了。但是,如果點擊該按鈕,它仍不會將繪圖顯示在軸上。對於另一個問題,你建議做什麼? – Romano
其他人有這樣的例子或答案?我真的需要知道如何。我已閱讀多個網站和有關此主題的論壇上的問題,但找不到明確的示例或答案。大多數的解釋對我來說都很不清楚,還是我? – Romano
@Romano它在哪裏繪製它呢?你必須把你的繪圖代碼放在按鈕回調中。我沒有在回答中寫出這部分內容 – Suever