2015-06-11 60 views
-1

请原谅我的noobness,但这是我的第一篇文章。通过更新函数在Matlab GUI上绘制图像和点

我在matlab中生成了这个gui,我想从一个更新函数的轴上绘制图像。

我知道在Matlab你可以做这样的事情

图像(IMG) 保持在 图(X1,Z1) 推迟

但如何使用GUI做到这一点?

这里是更新的功能

%get a handle to the GUI's 'current state' window 
deflectionx = findobj('Tag','deflectionx_display'); 
deflectiony = findobj('Tag','deflectiony_display'); 
depth = findobj('Tag','depth_display'); 
Graph = findobj('Tag','Graphical_display'); 
UltraS = findobj('Tag','UltraS_image'); 
%update the gui 
set(deflectionx,'String',x_def); 
set(deflectiony,'String',y_def); 
set(depth,'String',insert_depth); 


%% above works fine. below does not 

%i want this to plot those points on top of the image in the large graph panel of the gui 
plot(Graph,img1) 
hold on 
plot(Graph,x1,z1); 
hold off 

%this should plot the second image on the UltraS panel 
plot(UltraS,img2) 

请和谢谢提前的一段!

+0

读取工作区变量怎么来这是行不通的??什么都没有显示?你显示错误的东西? –

+0

底部不工作,顶部,拉动从函数收到的数据,并更新gui标签“挠曲x”,“挠曲”,“深度。我认为这是因为我只是改变Graph和UltraS变量指向我的gui的两个图,没有任何显示。 –

回答

0

所以想通我不得不GUI的句柄写入工作区在GUI的开启功能

% --- Executes just before VR_gui is made visible. 
function VR_gui_OpeningFcn(hObject, eventdata, handles, varargin) 
% This function has no output args, see OutputFcn. 
% hObject handle to figure 
% eventdata reserved - to be defined in a future version of MATLAB 
% handles structure with handles and user data (see GUIDATA) 
% varargin command line arguments to VR_gui (see VARARGIN) 

% Choose default command line output for VR_gui 
handles.output = hObject; 

% Update handles structure 
guidata(hObject, handles); 

%setting axis 
needle_plot = handles.Graphical_display; 
US_plot = handles.US_image; 

%write handle to workspace 
assignin ('base','needle_plot',needle_plot); 
assignin ('base','US_plot',US_plot); 

然后从更新功能

needle_plot = evalin('base','needle_plot'); 
US_plot = evalin('base','US_plot'); 

axes(US_plot); 
image(img2); 

axes(needle_plot); 
plot(x1,z1,'r--o');