matlab GUI保存axes(坐标轴)上的图像

1.默认方式

matlab GUI默认菜单的保存图像默认为保持全部GUI,包括使用" 菜单->编辑->复制图形"。

2 保存可见区域

2.1 代码

[FileName,PathName] = uiputfile({'*.jpg','JPEG(*.jpg)';...
                                             '*.bmp','Bitmap(*.bmp)';...
                                             '*.gif','GIF(*.gif)';...
                                             '*.*',  'All Files (*.*)'},...
                                             'Save Picture','Untitled');
if FileName==0
      disp('保存失败');
      return;
else
      h=getframe(picture);%picture是GUI界面绘图的坐标系句柄
      imwrite(h.cdata,[PathName,FileName]);
end           

2.2 说明

函数getframe()是为了获取坐标轴中的一帧图像,其返回的对象中有cdata和colormap两个成员。

2.3 效果

保存可见区域

3 保存带坐标轴的区域

3.1代码

new_f_handle=figure('visible','off');
new_axes=copyobj(picture,new_f_handle); %picture是GUI界面绘图的坐标系句柄
set(new_axes,'units','default','position','default');
[filename,pathname,fileindex]=uiputfile({'*.jpg';'*.bmp'},'save picture as');
if ~filename
     return
else
      file=strcat(pathname,filename);
      switch fileindex %根据不同的选择保存为不同的类型
      case 1
                  print(new_f_handle,'-djpeg',file);
      case 2
                  print(new_f_handle,'-dbmp',file);
      end
end
delete(new_f_handle);

3.2 说明

实际上是新建一个新的坐标图形,将GUI复制到新的图像上,输出新的图像,最后删除新建的图形句柄。

3.3 效果

保存带坐标轴的区域

参考文献

转载于:https://www.cnblogs.com/jingshikongming/p/8971922.html

### 回答1: 可以使用MATLAB GUI中的Axes属性来隐藏坐标轴。具体方法如下: 1. 打开MATLAB GUI并创建一个Axes对象。 2. 在Axes对象的属性编辑器中,找到XAxis和YAxis属性。 3. 将XAxis和YAxis属性的Visible属性设置为'off'。 4. 运行GUI并查看Axes对象,你会发现坐标轴已经被隐藏了。 下面是一个示例代码: % 创建GUI并添加Axes对象 hFig = figure; hAxes = axes('Parent',hFig); % 隐藏坐标轴 set(hAxes,'XAxisVisible','off','YAxisVisible','off'); % 显示GUI guidata(hFig,hAxes); ### 回答2: Matlab是一款广泛应用于科学和工程领域的计算机软件,它提供了丰富的绘图和数据可视化工具。其中GUI界面是Matlab中常用的一种交互方式,它可以方便地对图形进行操作和调整。在GUI界面中,Matlab提供了Axes控件来绘制图形,而有时候我们需要隐藏Axes控件的坐标轴以达到一些特定的绘图效果。下面将对如何在Matlab GUI界面中隐藏Axes控件的坐标轴进行详细介绍。 在Matlab GUI界面中,首先需要创建一个Axes控件,通过在GUI界面的“Components”工具箱中点击Axes控件进行添加。在添加完成后需要对Axes控件进行一些基本的设置,例如设置Axes坐标轴、标题、字体等,以便对图像进行更好的呈现。 对于隐藏Axes控件的坐标轴,可以通过以下几种方式实现: 1. 设置Axes坐标轴颜色为和背景色相同:由于Axes坐标轴颜色默认是黑色,所以将其设置为和背景色相同,坐标轴就会被隐藏。具体设置方法如下: ```matlab set(handles.axes1,'XColor',get(gcf,'Color'),'YColor',get(gcf,'Color'),'ZColor',get(gcf,'Color')); ``` 其中,handles.axes1是Axes控件的句柄,get(gcf,'Color')是获取当前图形窗口的背景色。这样设置之后,Axes坐标轴就会消失,只剩下图像。 2. 设置Axes坐标轴范围和显示范围一致:由于坐标轴一般用来标识数据的取值范围,因此将坐标轴的范围和显示范围设置为一致,就可以达到隐藏坐标轴的效果。具体设置方法如下: ```matlab axis off; axis equal; ``` 其中,axis off表示隐藏坐标轴,axis equal表示设置坐标轴范围和显示范围一致。这样设置之后,Axes坐标轴就会消失,同时图像会按比例缩放以适应Axes的大小。 3. 移动Axes控件:将Axes控件移到图形的边缘或者外部,就可以达到隐藏坐标轴的效果。具体设置方法如下: ```matlab set(handles.axes1,'OuterPosition',[0 0 1 1]); ``` 其中,set(handles.axes1,'OuterPosition',[0 0 1 1])表示将Axes控件移到图形的边缘或者外部,占据整个图形的大小。这样设置之后,Axes坐标轴就会消失,只剩下图像。 总的来说,以上三种方式都可以实现隐藏Axes控件的坐标轴的效果,具体选择哪一种方式可以根据需求和场合来决定。同时,需要注意的是,这些设置只是在GUI界面中隐藏了Axes控件的坐标轴,而原始数据的取值范围并没有变化,因此在数据分析和处理时还是需要考虑真实的数据取值范围。 ### 回答3: MATLAB中的GUI Axes是一种用于显示图形的容器。在一些情况下,我们可能需要隐藏这些Axes坐标轴,以便更好地呈现图形。下面是一些隐藏MATLAB GUI Axes坐标轴的方法: 1. 设置坐标轴可见性:使用set函数设置Axes的'Xcolor','Ycolor'和'Zcolor'属性为'none'即可隐藏坐标轴。例如: set(handles.axes1,'Xcolor','none','Ycolor','none','Zcolor','none'); 其中,'handles.axes1'是Axes控件的句柄。 2. 使用Axes的'box'属性:将Axes的'box'属性设置为'off'也可以隐藏坐标轴。例如: set(handles.axes1,'box','off'); 这将隐藏坐标轴,但保留Axes的背景框。 3. 设置坐标轴范围:如果我们想要隐藏坐标轴,但保留其他元素(如图例),我们可以通过设置坐标轴范围为0来实现。例如: xlim(handles.axes1,[0 0]) ylim(handles.axes1,[0 0]) 这将隐藏x和y轴,但仍然保留图例等其他元素。 无论哪种方法,都可以根据需求来设计更好的图形。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值