http://hi.baidu.com/imheaventian/item/8cba2fbe25197543bb0e1212

首先要了解的是Matlab是面向对象的。最高等级的对象是screen,它定义了figure可以用的最大szie。
screen下面是figure。figue就是你画图的时候跳出来的那个新的对话窗口。如果figure变化,screen是不会跟着变化的。但screen变化的话,figure就要跟着变化了。

figure下面是axes。axes是那个窗口里面你要画的东西。axes的大小和位置取决于figure,如果你放大缩小figure的大小的话,里面的图线也会跟着变化的。

set(gca,'position',[])

因此,set (gca,'position',[0.1,0.1,0.9,0.9] );的作用是:

设置坐标轴距离画板(图形窗口figure)边距。

[0.1,0.1,0.9,0.9] 分别为axes在figure中的左边界,下边界,宽度,高度,最小为0,最大为1(左边界,下边界为0,上边界,右边界为1)

见下面的例子:

-----------------------------------------------------------------------------

figure

set (gca,'position',[0.1,0.1,0.9,0.9] );

x=1:0.1:10; 
y=sin(x);
plot(x,y)

-----------------------------------------------------------------------------

结果见下图:

set(gcf,'position',[])

一般matlab绘出来图的框架(图形窗口)大都是正方形或者近似正方形的矩形,能不能画一些扁的矩形呢?

使用图形的position属性可以做到。

如set(gcf,'unit','normalized','position',[0.2,0.2,0.64,0.32]);的意思是:

对gcf的position进行设置。使其在屏幕上的显示位置是以(0.2,0.2)为原点,长0.64,宽0.32。同gca一样,仍然是左边界,下边界为0,

上边界,右边界为1。

另外,gcf的position也可以不是normalized的。如下面的例子:

-----------------------------------------------------------------------------

x=-2*pi:0.1:2*9i;y=sin(x);figure;set (gcf,'Position',[500,500,500,500], 'color','w') %大小设置plot(x,y,'k-') %节点位移图形输出xlim([min(s(:,2)) max(s(:,2))])grid on

-----------------------------------------------------------------------------

其中,

[500,500,500,500]的意思为:原点的位置x,原点的位置y,宽,高,其坐标为points(详见下面),

现在问题还存在:

如果仅设置position的话,打印的时候还是正方形。可以用下面的方法解决:

通常默认情况下,print命令输出图像为 8*5inches,无视屏幕显示尺寸
通过命令行修改的话有三步

1 设置paperposition为manual
set(gcf,'PaperPositionMode', 'manual')
[ auto | {manual} ]

2 设置paperunit   
set(gcf,'PaperUnits','inches')
[ {inches} | centimeters | normalized | points ]

3 设置paperposition
set(gcf,'PaperPosition',[left,bottom,width,height])

例如
set(gcf, 'PaperPositionMode', 'manual');
set(gcf, 'PaperUnits', 'points');
set(gcf, 'PaperPosition', [0 0 640 480]);

还有一个相关命令是papersize
paperposition 是placement,代表图像在paper(感觉就是屏幕screen的意思?)中的所处位置。left和bottom计算好,就可以使图像在paper中居中
papersize是纸张大小;position要比size小的

PaperPosition
    four-element rect vector
    Location on printed page. A rectangle that determines the location of the figure on the printed page. Specify this rectangle with a vector of the form
     rect = [left, bottom, width, height]
    where left specifies the distance from the left side of the paper to the left side of the rectangle and bottom specifies the distance from the bottom of the page to the bottom of the rectangle. Together these distances define the lower-left corner of the rectangle. width and height define the dimensions of the rectangle. The PaperUnits property specifies the units used to define this rectangle.

要使图像比例输出与屏幕显示的一致,可以使用如下命令
屏幕显示图像尺寸可以plot时用 set(gcf,'position',[left bottom width height]) 调整,或者print之前拖动窗口手动调整

This example exports a figure at screen size to a 24-bit TIFF file, myfigure.tif.

% set(gcf,'position',[80 100 800 600])  % 如果手动拖放,则不需要这一行命令
set(gcf, 'PaperPositionMode', 'auto')   % Use screen size
print -dtiff myfigure

用matlab画了一张图,投稿时要缩小,缩小后字体就会过小或者发虚。我摸索出比较好的方法是如下的代码:%%%%%%%%%%%%%%%%%%%%%%plot your figure before%%%%%%%%%%%%%%%%%%%%%% figure resize
set(gcf,'Position',[100 100 260 220]);
set(gca,'Position',[.13 .17 .80 .74]);
figure_FontSize=8;
set(get(gca,'XLabel'),'FontSize',figure_FontSize,'Vertical','top');
set(get(gca,'YLabel'),'FontSize',figure_FontSize,'Vertical','middle');
set(findobj('FontSize',10),'FontSize',figure_FontSize);
set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',2);%%%%%%%%%%%%%%%%%%%%%%%%%%%%解释:set(gcf,'Position',[100 100 260 220]);
这句是设置绘图的大小,不需要到word里再调整大小。我给的参数,图的大小是7cmset(gca,'Position',[.13 .17 .80 .74]);
这句是设置xy轴在图片中占的比例,可能需要自己微调。figure_FontSize=8;
set(get(gca,'XLabel'),'FontSize',figure_FontSize,'Vertical','top');
set(get(gca,'YLabel'),'FontSize',figure_FontSize,'Vertical','middle');
set(findobj('FontSize',10),'FontSize',figure_FontSize);这4句是将字体大小改为8号字,在小图里很清晰set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',2);

这句是将线宽改为2

Matlab中保存图像时,图形窗口大小的控制相关推荐

  1. Matlab图形窗口大小的控制 ,plot窗口大小,figure大小,axis设置,实用

    与imagesc搭配可以用caxis([*,*])来调整图像颜色的显示区间. 转载自:http://blog.sina.com.cn/s/blog_48c735630101iadu.html Matl ...

  2. matlab中的图像类型

    MATLAB中的图像类型 在MATLAB中数组是最基本的数据结构,大部分图像用二维 数组即矩阵表示,矩阵中的一个元素对应一个像素.例如,一个由500行600列不同颜色点组成的图像可以用500*600的 ...

  3. matlab输入指令错误怎么修改,在MATLAB中运行程序时,显示错误: 此上下文中不允许函数定义。 怎么修改?...

    点击查看在MATLAB中运行程序时,显示错误: 此上下文中不允许函数定义. 怎么修改?具体信息 答:MATLAB程序运行错误后,切换到MATLAB命令行中,观察命令行中的错误信息,确定错误原因. 1. ...

  4. matlab 保存三维矩阵,如何以Python语法读取Matlab中保存的三维矩阵(Dicom矩阵)?...

    我在Matlab中保存了一个坐标(行=288,列=288,切片(z)=266)的3D矩阵. 现在我想用Python加载它.不幸的是,加载后,在Python中它是(row=288,col=266,sli ...

  5. Matlab中消除图像噪声之中值滤波器:medfilt2

    Matlab中消除图像噪声之中值滤波器:medfilt2 medfilt2, matlab, 消除噪声, 中值滤波器, 椒盐噪声 在图像处理中,在进行如边缘检测这样的进一步处理之前,通常需要首先进行一 ...

  6. MATLAB中的图像融合

    下面来介绍一下如何在MATLAB中实现图像的融合,具体原理及步骤如下: 图像融合:图像融合是指将多源信道所采集到的关于同一目标的图像数据经过图像处理和计算机技术等,最大限度的提取各自信道中的有利信息, ...

  7. Python使用matplotlib保存图像时发生自动裁剪丢了部分标签信息解决方案(plt.savefig保存时丢失了部分标签字符)

    Python使用matplotlib保存图像时发生自动裁剪丢了部分标签信息解决方案(plt.savefig保存时丢失了部分标签字符) 目录

  8. Scratch3.0中保存项目时,建议使用的扩展名是sb3

    全国青少年编程等级考试Scratch 2019年05月考试 二.判断题 26.Scratch3.0中保存项目时,建议使用的扩展名是sb3.(  ) 答案:正确 来试试在线直接答题吧(还有错题本功能) ...

  9. Matlab 中保存运行的m文件

    Matlab中保存运行的m文件 在调试参数的时候为了保证能够在之后完整复刻当前算例,最好保存当前运行的m文件到算例的图片和数据输出目录. 主要有两种方法:1 读写当前文件到指定文档:2 复制当前m文件 ...

最新文章

  1. orm连接mysql_Django项目如何使用ORM连接MySQL
  2. UITableView——reloadData与reloadSection性能比较
  3. grep -v、-e、-E
  4. 手机连接服务器传文件在哪里,手机云服务器传文件在哪里
  5. vue项目中app.vue 、main.js和 index.html的关联
  6. 最新!第二轮“双一流”名单即将公布?8所高校官宣新增学科!
  7. mysql导入sql文件
  8. 后台执行UNIX/Linux命令和脚本的五种方法
  9. CSS——设置第一个以外的元素样式:not(:first-child),设置最后一个除外的元素样式:not(:last-child)
  10. ffmpeg-win32-v3.2.4 下载_iTOP-4412开发板android4.4代码下载和编译
  11. MTK 驱动(72)---如何初步定位异常关机问题
  12. Jmeter安装设置
  13. linux img提取文件系统,Linux下 mount IMG文件提示“您必须制定文件系统类型”解决方法...
  14. 剑指 Offer II 109. 开密码锁
  15. vue父组件引用子组件方法显示undefined问题原因及解决方法
  16. AUtoCAD Civil 3D-曲面-原始数据处理
  17. c语言里的字体怎么设置,C语言中如何添加文字
  18. 一级域名与二级域名之间的区别
  19. 怪诞行为学(Predictably Irrational)
  20. CAS号:60535-02-6,二肽Met-Trp

热门文章

  1. python中画圆的代码_python实现画圆功能
  2. pipe建模工具使用_PDMS进行管道建模的一些方法及操作技巧,快来Get!
  3. ESP32温湿度 DHT11 实验
  4. android 张口逐帧动画,《Android 动画》逐帧动画
  5. navbar-default /navbar-brand(logo栏)/navbar-text
  6. Linux中的信号是什么?
  7. 基于百度LBS的定位
  8. 【问题】Ubuntu系统使用搜狗输入法时,只能打出英文,无法输中文。
  9. 电压源逆变器的死区现象
  10. 学计算机怎么预防脱发,电脑工作者如何防止脱发出现?