2017-07-13 258 views
0

我想在具有2個不同軸的同一個GUI圖中繪製兩個繪圖。我想在一個座標軸上繪製一個情節,而在另一個座標軸上繪製下一個情節但是,我的圖都是從一個單一的函數生成的,我使用一個按鈕在GUI中調用它。在同一個GUI窗口的兩個不同軸上繪製2個繪圖

當我在函數內的第二個繪圖之前寫axes()時,我得到第三個錯位的座標軸。如果我省略axes()調用,我將同時獲得兩個圖。我如何繪製第二個座標軸上的第二個圖形?

GUI

function pushbutton1_Callback(hObject, eventdata, handles) 
--------- 
--------- 
--------- 
axes(handles.axes1); 
    kendrickplot(n,alpha,em,infile,outfile); 
--------- 

功能

function [ynew,xnew]=kendrickplot(n,alpha,em,infile,outfile) 
--------- 
--------- 
scatter(xnew,ynew,'b.') 
xlim([0,max(a(:,4))]) 
ylim([min(a(:,5)),max(a(:,5))]) 
hold on 
plot(xnew,n*(ones(length(xnew))),'r') 
scatter(a(:,4),a(:,5)) 
end 
+0

添加軸手柄的繪圖功能'scatter'和'plot' – EBH

+2

嘗試通過'handles.axes1'和'handles.axes2'你的函數和調用'軸(H1);'和'軸(h2)'在每個陰謀之前 –

+0

@VaheTshitoyan您能舉個例子來說明您的建議嗎? – Rudstar

回答

3

的一種方式是在軸的手柄傳遞到執行繪圖的功能。

  1. 修改函數接受的情節處理:

    function [ynew,xnew]=kendrickplot(n,alpha,em,infile,outfile, h1, h2)

  2. 在這個函數中,第二個情節之前,首先劇情和axes(h2)前添加axes(h1)

  3. 在您的回撥中,請調用像這樣的函數kendrickplot(n,alpha,em,infile,outfile, handles.axes1, handles.axes2);

相關問題