matlab gui如何画矩形,matlab如何在gui的uipanel中画图

function show_nodes_figure()

%节点分布图

global X;

global Y;

global base;

global nodes_num;

global E0;

global E_da;

global E_elec;

global E_fs;

global E_mp;

global d0;

global Nodes;

clf

hold on

for i=1:nodes_num

plot(Nodes{i}{1}.x,Nodes{i}{1}.y,'or ','MarkerSize',5);

end

axis([0,X,0,Y]);

set(gca,'xtick',[0:X/12:X]); %设置网格密度

set(gca,'ytick',[0:Y/12:Y]);

grid on;

xlabel('X');

ylabel('Y');

title('节点分布图')

hold off

如图,我点击运行main.m进入如下界面

bVqVyv

输入数据运行后会调用上面的show_nodes_figure函数,但是此函数产生图像将整个main的面板覆盖了,我怎么设置将图像画在左下角的uipanel(节点信息传输图中)

(整个图像被覆盖了)

bVqVyC

下面是main.m代码

function varargout = main(varargin)

% MAIN MATLAB code for main.fig

% MAIN, by itself, creates a new MAIN or raises the existing

% singleton*.

%

% H = MAIN returns the handle to a new MAIN or the handle to

% the existing singleton*.

%

% MAIN('CALLBACK',hObject,eventData,handles,...) calls the local

% function named CALLBACK in MAIN.M with the given input arguments.

%

% MAIN('Property','Value',...) creates a new MAIN or raises the

% existing singleton*. Starting from the left, property value pairs are

% applied to the GUI before main_OpeningFcn gets called. An

% unrecognized property name or in

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要在MATLAB实现在GUI1绘制的图形实时显示在GUI2,可以通过以下步骤来完成: 1. 在GUI1创建一个图形窗口(例如,使用figure函数)并绘制需要显示的图形(例如,使用plot函数)。确保图形窗口是可见的。 2. 在GUI2创建一个Axes对象(例如,使用axes函数),并将其放置在GUI2的合适位置。 3. 在GUI2创建一个定时器(例如,使用timer函数),并设置定时器的执行函数为一个回调函数。 4. 在回调函数,通过使用findobj函数和copyobj函数,找到GUI1的图形窗口和其子对象(即绘制的图形),并将其复制到GUI2的Axes对象。 5. 在回调函数,更新GUI2的图形(即将复制的图形)的显示,可以使用refreshdata函数或者drawnow函数来实现。 6. 启动定时器,即开始实时显示GUI1的图形在GUI2。 需要注意的是,为了确保实时性,定时器需要以足够高的频率执行回调函数,同时还要考虑到图形绘制的复杂性和硬件性能。此外,还可以根据需求调整图形的样式和布局等。 ### 回答2: 在MATLAB,可以通过使用Figure窗口和Axes控件来实现在GUI界面绘制实时图形。要将图形实时显示在两个不同的GUI界面,可以按照以下步骤操作: 1. 在第一个GUI界面(即GUI1)创建一个Figure窗口和Axes控件,用于实时绘制图形。可以使用"figure"和"axes"函数来创建这两个控件,然后将其放置在GUI界面的适当位置。 2. 将GUI1的Figure窗口的句柄(handle)传递给要处理数据和绘图的函数。在该函数,可以使用"plot"、"scatter"或其他绘图函数来实时绘制所需的图形。 3. 如需将实时绘制的图形显示在第二个GUI界面(即GUI2),可以通过使用另一个Figure窗口和Axes控件来实现。创建一个新的Figure窗口和Axes控件,并将其放置在GUI2界面的适当位置。 4. 在第二个GUI界面的回调函数,获取到在第一个GUI界面绘制的图形数据,并通过使用"plot"等绘图函数在GUI2的Axes控件实时显示。 5. 通过合理设置定时器或更新函数,确保在GUI2界面实时更新并显示绘制的图形。 通过上述步骤,即可在两个不同的GUI界面实现MATLAB的实时图形显示功能。 ### 回答3: 要实现在MATLABGUI1界面绘图,并实时显示在GUI2界面,可以按照以下步骤进行操作: 首先,在GUI1界面创建一个图形对象并绘制所需的图形。可以使用MATLAB的绘图函数(如plot、plot3等)来实现。 然后,通过使用MATLAB的回调函数,在GUI1界面的相应触发事件(如按钮按下事件),将绘图数据传递给GUI2界面。可以使用MATLAB的set函数将绘图数据传递给GUI2界面的相应图形对象。 接下来,在GUI2界面创建一个图形对象,用于接收并显示来自GUI1界面的绘图数据。可以使用MATLAB的绘图函数在GUI2界面的图形对象上进行绘制。 最后,在GUI2界面的相应回调函数,更新并刷新图形对象,以实现实时显示GUI1界面的绘图数据。可以使用MATLAB的set函数将绘图数据传递给图形对象,并使用drawnow函数更新界面。 综上所述,通过在GUI1界面创建图形对象,并将绘图数据传递给GUI2界面的图形对象,然后在GUI2界面更新并刷新图形对象,即可实现在MATLABGUI1画图并实时显示在GUI2的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值