https://wenku.baidu.com/view/e09c4b55c281e53a5902ff13.html

screen,它定义了figure可以用的最大szie

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

figure下面是axes

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)


gcf设置成矩形

一般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=-2pi:0.1:29i;
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小的

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

%%%%%%%%%%%%%%%%%%%%%% plot your figure before
%%%%%%%%%%%%%%%%%%%%%% figure resize
close all;
figure
x=0:0.1:10;
y=sin(x);
plot(x,y,'b-')
legend('sin');
hold on;
z = cos(x);
plot(x,z,'r-')
legend('cos');% set(gcf,'Position',[500 500 260 220]);%左下角位置,宽高,这里的260正好是7cm,适合半个word页面
% set(gca,'Position',[.13 .17 .80 .74]); %同样应用是在画图到wordset(gcf,'unit','normalized','position',[0.1,0.25,0.8,0.5]); %采用相对值设置,相对屏幕
set (gca,'position',[0.1,0.1,0.8,0.8] );
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',1);
xlab = xlabel('x轴');
ylab = ylabel('y轴');
set(ylab,'Rotation',0);
title('图名');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%解释:
% set(gcf,'Position',[100 100 260 220]);这句是设置绘图的大小,不需要到word里再调整大小。我给的参数,图的大小是7cm
% set(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图形窗口大小的控制 ,plot窗口大小,figure大小,axis设置相关推荐

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

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

  2. Matlab中保存图像时,图形窗口大小的控制

    http://hi.baidu.com/imheaventian/item/8cba2fbe25197543bb0e1212 首先要了解的是Matlab是面向对象的.最高等级的对象是screen,它定 ...

  3. MATLAB SCI论文绘图及绘图窗口大小设置

    简介 为了满足各种期刊杂志尤其SCI的出版要求,高品质的论文插图能够让读者赏心悦目,增加论文的可阅读性.在作图时候,根据论文的布局.插图位置决定着图的长宽.分辨率和字体大小.如果不考虑图片在论文中的大 ...

  4. matlab学习笔记9 高级绘图命令_2 图形的高级控制_视点控制和图形旋转_色图和颜色映像_光照和着色

    一起来学matlab-matlab学习笔记9 高级绘图命令_2 图形的高级控制_视点控制和图形旋转_色图和颜色映像_光照和着色 觉得有用的话,欢迎一起讨论相互学习~ 参考书籍 <matlab 程 ...

  5. Matlab图形(Figure)中使用差值光标提取数据

    0. 原由 示波器中常用差值光标,用于捕捉曲线中的特征点,并计算出特征点之间的坐标差值. 差值光标在分析图形数据时很有用.可惜在Matlab的Figure工具栏中并没有提供,自带的数据提取功能似乎不如 ...

  6. PyQt5 图形界面 - 配置界面跟随窗口大小调整灵活伸缩,设置页面控件居中显示实例演示

    PyQt5 图形界面 - 配置页面跟随窗口大小调整灵活伸缩 第一章:Qt 窗口布局调整演示 ① 不可自由伸缩实例 ② 分散布局合并 ③ 添加间隔控件 ④ 添加栅格布局 ⑤ 修改栅格布局为 QFrame ...

  7. C语言如何控制控制台窗口大小

    控制控制台窗口大小 如下代码: system("mode con cols=30 lines=20"); 或者使用变量: char chCmd[32]; sprintf(chCmd ...

  8. matlab图形编辑,matlab绘制图形plot属性编辑

    matlab绘制图形plot属性编辑 matlab绘制图形plot属性编辑 使用plot绘制图形函数,设置其中的图形参数,包含线条颜色,粗细,线条类型. x=1:15; y=x.^3; 方法一 是在p ...

  9. OpenCv创建读取,显示图片与灰度,透明图片,控制图片窗口大小

    首先构建读取,与创建显示窗口一共需要两个函数imread与imshow,调整图像大小需要一个函数namedWindow 创建读取,显示图片,控制图片窗口大小 创建读取并显示图片 控制图片窗口大小 创建 ...

  10. matlab图形标注名称_matlab入门(三)图像可视化

    matlab图像可视化 基本要求 (1)掌握图形窗口的创建与控制,以及图形窗口的基本操作:(2)熟练掌握二维和三维绘图基本的命令.线型控制:(3)初步掌握用特殊的图形来表现特殊数据的性质,如面积图.直 ...

最新文章

  1. 网络-开发-CIO全面覆盖——51CTO.com今日变脸
  2. 什么是CPU的虚拟化技术?优势又是什么
  3. Windows服务程序时钟调用
  4. python引用函数_python 调用函数
  5. mysql mtop 使用_MYSQLMTOP监控环境搭建
  6. Python随手记—各种方法的使用
  7. 一表理清如何正确选择可视化图表,掌握后再也不怕用错图表
  8. 覆盖索引与联合索引_Mysql性能优化:为什么要用覆盖索引?
  9. 计算机网络基础系列(二)计算机网络体系结构
  10. 使用vim编辑编译c51程序
  11. D. Powerful array 莫队算法或者说块状数组 其实都是有点优化的暴力
  12. 快速刷微信小程序访问量和浏览量
  13. c程序-RGB转十六进制
  14. 华为网络设备-构建简单IPv6网络实验
  15. 时间序列预测框架--Darts--快速开始(下)
  16. C++ 二义性是什么?怎么解决?
  17. SPDY:一种更快速web的实验协议(转)
  18. 信赖域(Trust Region)
  19. html页面结构代码,pjblog模板结构HTML代码网页展示
  20. KOF系列全人物第一时间不可防御技研究报告汇总引索贴

热门文章

  1. ArcGIS中创建数据要素模板,便捷数据采集
  2. PHP实现单向链表解决约瑟夫环问题
  3. Spring Boot 打包成的可执行 jar ,为什么不能被其他项目依赖?
  4. VMware网络连接模式——桥接模式、NAT模式以及仅主机模式的介绍和区别
  5. 我发现混的好的,都是挺能“吹牛逼”的
  6. 实现视频播放器倍速、清晰度切换、m3u8下载功能
  7. IT已成为最疯狂的加班行业,没有之一
  8. 运算放大器权威指南_运算放大器科普文章
  9. 大连工业大学计算机专硕调剂,2020大连工业大学调剂信息
  10. CASE WHEN 及 SELECT CASE WHEN的用法