【问题标题】:Handles not importing plot to GUI - MATLAB处理未将绘图导入 GUI - MATLAB
【发布时间】:2013-12-13 03:20:54
【问题描述】:

我有一个 .fig 文件,它有自己的 GUI 控制 .m 脚本。我有一个用户定义的计算脚本。我的用户定义脚本中有一个情节,我想要在我的 G.U.I. .fig 文件由一组 5 个轴图组成,如下所示:

我的带有绘图功能的自定义脚本是这样的:

function MyScript = MyFile(handles)

忽略用于获取绘图本身的数据,我的绘图函数写在与用户定义的函数相同的函数中

plot(handles.x,y)

在 GUI 脚本中我调用 MyScript:

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

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

MyScript(handles);
% Update handles structure
guidata(hObject, handles);

但它不起作用。谁能告诉我我做错了什么?

注意:我只是想让其中 1 个图正在工作(在此查询中)。我可以使用子图,但我想一次直观地显示所有 5 个图,并最终添加更多选项,如滑块等。

【问题讨论】:

  • 如何定位特定轴?如果您没有在每个绘图之前使每个坐标区成为当前坐标区,那么绘图命令可能需要坐标区句柄输入。 (最好将句柄指定为plot。)
  • 这不仅仅是我遇到这个问题的情节。也是数字。我有一个不同的线程,我认为它更清楚地说明了这一点。这是:stackoverflow.com/questions/20640955/…

标签: matlab function user-interface plot


【解决方案1】:

您应该使用轴的正确标签名称(标签名称可以在 Inspector >> 标签中更改。目前您的轴名称是“axis1,axis2,...”。将您的代码更改为:

plot(handles.axis1,x,y)

现在,这段代码应该将 y 中的数据与 x 中的数据进行对比,并将其显示在 axis1 中。

【讨论】:

猜你喜欢
  • 2016-12-31
  • 2011-11-16
  • 2023-03-18
  • 2012-04-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-24
  • 1970-01-01
相关资源
最近更新 更多