2017-03-04 401 views
0

UIAxes在Matlab应用程序设计器不支持非数字数据,如图,有没有其他选择在UI框架内做到这一点?Matlab App Designer,图形绘制(非数字数据)

贵德我这样做:

% --- Executes on button press in Visualize. 
function Visualize_Callback(hObject, eventdata, handles) 
a = [1 2 3 4]; 
b = [2 3 4 1]; 
g = graph(a,b); 
p = plot(g); 
axis off 

点击例如Visualize按钮,我将有图形出现在导向图。框架。 enter image description here

我试图在App Designer中做到这一点,它可以绘制数值,但对于图形可视化,我没有找到正确的方法来做到这一点。

methods (Access = private) 

    % Button pushed function: VisualizeButton 
    function VisualizeButtonPushed(app, event) 

     a = [1 2 3 4]; 
     b = [2 3 4 1]; 

     g = graph(a,b); 
     ax = app.UIAxes; 

     plot(ax,g) 
    end 
end 

enter image description here

+0

这是哪个MATLAB版本? App Designer是[MATLAB版本]中不断受到关注的模块之一(https://www.mathworks.com/help/matlab/release-notes.html?rntext=&startrelease=R2016a&endrelease=R2017a&category=App+Building&groupby=释放&sortby =降序&searchHighlight =)。不幸的是,对于我们的用户来说,它的功能在“常规”数字方面仍然是有限的。其中一个解决方案是更新您的MATLAB版本,希望在以后的版本中添加所需的功能。无论如何,请提供[mcve],以便我们重现您的错误。 –

+0

这是2016a,学术用途。你是对的,应用程序设计师是一个非常有趣的模块,但我是一个初学者,当然我期望指南的类似功能。我会更新我的问题,解释我以前在Guide中做过的事情。 – Hamidreza

+1

请注意'plot(graph)'支持仅在[R2017a](https://www.mathworks.com/help/matlab/creating_guis/graphics-support-in-app-designer.html)中添加。 –

回答

1

正如我在评论中提及,密谋在应用程序设计对象支持R2017a 12只添加。

除非您想通过使用R2016a中可用的绘图函数自己重新实现的麻烦(这可能超出了答案的范围),您应该更新您的MATLAB版本。