从.m文件中将冲浪图绘制到GUI中的轴对象

时间:2018-02-22 20:24:46

标签: matlab matlab-guide matlab-gui

我有点迷失了...我有一个.m文件,将一个冲浪图重复绘制成一个图形,一个保持和一个“现在绘制”,以便创建一个动画。

我现在已经创建了一个GUI(标签:'GUI'),其中包含为模拟设置参数的指南。在GUI中设置参数并按下按钮之后,我希望模拟像以前一样开始,但不是打印到图形,而是要在GUI中打印到轴对象(标签:'GUI_panel_plot_axes_fullframe')。

如何从我的.m文件中访问GUI中的axes对象?我没有成功尝试以下内容:

h = findobj('Tag','GUI');
handles = guihandles(h);
axes(handles.GUI_panel_plot_axes_fullframe);

但是,在尝试访问应该包含我的axis对象句柄的句柄对象时出错:

Error using guihandles
H must be the handle to a figure or figure descendent.

我愿意改变我访问手柄的方式......我已经尝试了多个版本在互联网上漫游,但是没有任何运气好!非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

如果没有查看其余代码,很难告诉您错误。 无论如何,这是使用" guide"创建的非常简单的GUI的示例。正如您在按下按钮时所看到的那样,图像被绘制到名为" axes1"的轴上。我想你可以得到这个想法。

function varargout = untitled(varargin)
    % UNTITLED MATLAB code for untitled.fig
    %      UNTITLED, by itself, creates a new UNTITLED or raises the existing
    %      singleton*.
    %
    %      H = UNTITLED returns the handle to a new UNTITLED or the handle to
    %      the existing singleton*.
    %
    %      UNTITLED('CALLBACK',hObject,eventData,handles,...) calls the local
    %      function named CALLBACK in UNTITLED.M with the given input arguments.
    %
    %      UNTITLED('Property','Value',...) creates a new UNTITLED or raises the
    %      existing singleton*.  Starting from the left, property value pairs are
    %      applied to the GUI before untitled_OpeningFcn gets called.  An
    %      unrecognized property name or invalid value makes property application
    %      stop.  All inputs are passed to untitled_OpeningFcn via varargin.
    %
    %      *See GUI Options on GUIDE's Tools menu.  Choose "GUI allows only one
    %      instance to run (singleton)".
    %
    % See also: GUIDE, GUIDATA, GUIHANDLES

    % Edit the above text to modify the response to help untitled

    % Last Modified by GUIDE v2.5 23-Feb-2018 14:39:54

    % Begin initialization code - DO NOT EDIT
    gui_Singleton = 1;
    gui_State = struct('gui_Name',       mfilename, ...
                       'gui_Singleton',  gui_Singleton, ...
                       'gui_OpeningFcn', @untitled_OpeningFcn, ...
                       'gui_OutputFcn',  @untitled_OutputFcn, ...
                       'gui_LayoutFcn',  [] , ...
                       'gui_Callback',   []);
    if nargin && ischar(varargin{1})
        gui_State.gui_Callback = str2func(varargin{1});
    end

    if nargout
        [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
    else
        gui_mainfcn(gui_State, varargin{:});
    end
    % End initialization code - DO NOT EDIT


    % --- Executes just before untitled is made visible.
    function untitled_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 untitled (see VARARGIN)

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

    % Update handles structure
    guidata(hObject, handles);

    % UIWAIT makes untitled wait for user response (see UIRESUME)
    % uiwait(handles.figure1);


    % --- Outputs from this function are returned to the command line.
    function varargout = untitled_OutputFcn(hObject, eventdata, handles) 
    % varargout  cell array for returning output args (see VARARGOUT);
    % hObject    handle to figure
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)

    % Get default command line output from handles structure
    varargout{1} = handles.output;


    % --- Executes on button press in pushbutton1.
    function pushbutton1_Callback(hObject, eventdata, handles)
    % hObject    handle to pushbutton1 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    imshow('peppers.png','Parent',handles.axes1);