Matlab最实用画图命令整理

  • 1、关于 gcf 和 gca
  • 2、画多个子图(subplot),以4个子图为例
  • 3、关于figure的一些设置命令整理
  • 4、关于坐标轴显示的设置
  • 5、imagesc函数画图
  • 6、Print输出高清图

全部手码,自己整理,走过路过点个赞收藏一下吧!

最近在写论文,SCI需要300dpi以上的高清图(见第6部分用Print输出高清图),用matlab导出图的时候,碰到一些问题,就整理了一下,希望能帮助到大家。代码整理如下:

1、关于 gcf 和 gca

gcf = Current figure handle 当前图形的句柄

fig = gcf; % returns the current figure handle.

gca = Get handle to current axis. 获取当前图形坐标轴的句柄

H = gca; % returns the handle to the current axis in the current figure.
%          The current axis is the axis that graphics commands like PLOT, TITLE, SURF, etc. draw to if issued.
%          Use the commands AXES or SUBPLOT to change the current axis to a different axis, or to create new ones.

2、画多个子图(subplot),以4个子图为例

在写论文的过程中,会涉及到多个图的情况,大致整理如下:

figure,
subplot(2,2,1),plot(x,y1,y2,'linewidth',2);
%   subplot('position', [0.11 0.63 0.35 0.3]);   % [x0 y0 width height] 可以设置位置,一般默认即可
%   左下角为原点,横向为x,竖向为y
%   figure在画布中的位置由 ‘Position’, [x0 y0 Width Height] 设置title('a'); %设置图标题
xlabel('{Time(s)}'),ylabel('{Slant range(km)}');    %X轴和Y轴名称,单位
legend('one','two');    %几个y对应legend括号里面几个元素,单个曲线不需要legend
axis([0 2 60 400]); %设置横纵坐标的范围,可不设置,默认
xticks(0:0.2:2); %这样x轴会每隔0.2显示一个刻度,可不设置,默认
yticks(60:20:400); %这样y轴会每隔20显示一个刻度,可不设置,默认
set(gca,'FontSize',20); %设置字体大小,20在PPT中比较合适,放在论文中一般8号就好了subplot(2,2,2),plot(x2,y2);    %后面的子图和前面一样
title('b');%设置图标题
% ...
subplot(2,2,3),plot(x3,y3);
title('c');%设置图标题
% ...
subplot(2,2,4),plot(x4,y4);
title('d');%设置图标题
% ...

3、关于figure的一些设置命令整理

设置曲线线宽、标记点大小,标记点边框颜色和标记点填充颜色等。
plot(…,’Property Name’, Property Value, …)

Property Name Property Value
LineWidth 线宽 数值,如0.5,1等,单位为points
MarkerEdgeColor 标记点边框线条颜色 颜色字符,如’g’, ’b’等
MarkerFaceColor 标记点内部区域填充颜色 颜色字符
MarkerSize 标记点大小 数值,单位为points

关于matlab中标尺,线宽,Marker,坐标轴,legend,字体等的一些设置:

set(findall(gcf,'type','hggroup'),'FontSize',16);  %%设置数据游标(标尺)的字体大小set(findall(gcf,'type','line'),'linewidth',2);%%设置全部线宽为2,默认为0.5set(findall(gcf,'type','line'),'markersize',10);%%设置marker的大小为10,默认为6set(gca,'FontName','Times New Roman','FontSize',8,'LineWidth',1.0);%设置坐标轴的字体,字体大小,线宽set(gca,'FontSize',20); %设置坐标轴字体大小为20set(legend,'FontSize',8);   %设置legend的字体大小set(gca,'xtick',[0:1000:5000]); %自定义x轴刻度间隔set(gca,'ytick',[0.97:0.005:1]); %自定义y轴刻度间隔

4、关于坐标轴显示的设置

设置坐标轴上下限:axis([xmin,xmax,ymin,ymax]); 分别是x,y轴的上下限;
分坐标轴设置:

xlim([xmin,xmax]);   %对X轴设定显示范围
ylim([ymin,ymax]);  %对Y轴设定显示范围
zlim([zmin,zmax]);  %对Z轴设定显示范围

设定坐标轴范围和坐标轴显示内容:

set(gca,'xlim',[0,2],'xtick',[0:0.2:2]); %x坐标轴范围,同时自定义x轴刻度间隔
set(gca,'ylim',[60,400],'ytick',[60:20:400]);   %y坐标轴范围,同时自定义y轴刻度间隔

如果需要另外定义这些刻度的名字,可以搭配xticklabels:

xticklabels({'a0','b10',c'30',...});

为说明效果,省略了部分内容,写代码时应该与xticks对应写够10+1个label。

5、imagesc函数画图

imagesc函数画图会出现y轴倒置的情况,即下大上小,set(gca,‘ydir’,‘normal’) 可以恢复正常。

[x1,y1] = size(z); %z为二维矩阵
x = (x1-1)./60;     %坐标转换,转换到自己需要的坐标
y = (y1-1)*7.5+60;  %坐标转换,转换到自己需要的坐标
imagesc(x,y,z.');   %根据实际情况是否加转置
set(gca,'ydir','normal');   %画出来y轴是从大到小的,需要用这条指令恢复正常
colorbar;colormap jet;   % colorbar颜色设置,从蓝到红
shading faceted;    % 不要平滑,根据实际画图需要
% shading interp;    %插值平滑
caxis([25,38]);     % colorbar标尺范围

关于shading:

shading 是用来处理色彩效果的,分以下三种:

no shading 一般的默认模袭式 即shading faceted

shading flat 在faceted的基百础上去掉图上的网格线

shading interp 在flat的基础上进行色彩的插值处理,使色度彩平滑过渡

6、Print输出高清图

SCI的论文.jpg或者.tif需要300dpi以上的图像,怎么保存都不清楚,折腾我半天,问题包括莫名其妙变96dpi,300dpi图片宽度是6000像素,导致放word后压缩厉害。 直接用导出功能,300dpi或者600dpi无法设置图片大小,设置了也会被改(matlab 2016b,不知道是不是我matlab的问题)。现在整理如下:

print(figure_handle,fileformat,filename); % 其中的三个参数:
a、figure_handle: 图形句柄,如果图形窗口标题栏是“figure 3”,则句柄就是3;常用gcf获取当前窗口句柄

b、fileformat:单引号字符串,指定存储格式:
png格式: ‘-dpng’
jpeg格式: ‘-djpeg’,
tiff格式: ‘-dtiff’ (SCI论文推荐用这个)
bmp格式: ‘-dbitmap’
gif格式:’-dgif’
emf无损格式:’-dmeta’

c、 filename:文件名,可带路径,不设置就存当前文件夹。

print保存高清图可以用如下4条指令之一即可实现。

路径记得需要改为自己的路径,即 'C:\Users\AgileDARN\Desktop\SuperDARN2019’需要改为自己的路径。

print(figure(3),'-dtiff', '-r300',strcat( 'C:\Users\AgileDARN\Desktop\SuperDARN2019\','Image.tif' ));
%保存到指定路径print(gcf,'-dtiff','-r300','C:\Users\AgileDARN\Desktop\SuperDARN2019\Image');
%保存到指定路径print -f3 -dtiff -r300 Image
% -f3对应的figure(3),-f1对应figure(1)
%保存到当前路径print(gcf,'-dtiff','-r300','Image');
%保存到当前路径

导出SCI论文图,我用以下两条命令,首先设置图像大小手动,不然300dpi的图宽度会默认设置为6000像素,600dpi的是12000像素,图很大,放word还是会压缩,导致看不清,所以选择用set来设置手动。 word里面A4的大小是21cm,去除两边的变宽,一般宽度设置14cm,比如这个例子14cm*8.6cm,图的大小根据自己的实际情况设置。导出图的字体大小为8即可,如果看不清,是设置的不对!!!

set(gcf,'PaperUnits','centimeters','PaperPosition',[14 19 14 8.6],'PaperPositionMode', 'manual');
print(gcf,'-dtiff','-r300','C:\Users\AgileDARN\Desktop\SuperDARN2019\meteors2z');

如果图的字体不是8,用以下代码改一下。(是不是很贴心!)

set(gca,'FontSize',8); %设置坐标轴字体大小为8
set(legend,'FontSize',8);   %设置legend的字体大小为8

以下两张图是同一张图,看看以下对比:
a、fig里面的截图:
b、tif图由于无法上传,也是截图。由于上面set改变了图的大小所以同样的字体看起来不一样。
参考的文章有:

1、matlab的图像操作——输出图像尺寸大小、坐标轴等各项设置
https://blog.csdn.net/misayaaaaa/article/details/53421221/

2、Matlab的图像操作——colorbar的各项细节操作
https://blog.csdn.net/misayaaaaa/article/details/53326395

3、Matlab多个子图Subplot位置排布
https://blog.csdn.net/qq_41492768/article/details/90209781

4、Matlab保存图像的5种方法
https://blog.csdn.net/Vipbinn/article/details/80963257?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2

5、浅析image,imagesc,imshow的用法
https://blog.csdn.net/zhupananhui/article/details/16340345

6、Matlab作图语句小结
https://blog.csdn.net/qysh123/article/details/8783546

7、Matlab中的画图函数(可视化编程)
https://blog.csdn.net/daijingxin/article/details/78116975?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1

如有侵权,请联系我删除,敬请谅解!

如代码有问题,请评论!

Matlab最实用画图命令整理(包括Print输出SCI论文高清大图!)相关推荐

  1. python画笔的尺寸_Matplotlib 常用画图命令总结:使用 Python 在论文中画出一手漂亮的数据图...

    介绍 本文不是一篇详尽的.从简到繁的 Maplotlib 画图教程,而是用各种例子快速直观地让读者上手 Matplotlib 画图中的一些常用的.基础的操作.本文不对各种数据图(折线图.柱状图等)作介 ...

  2. matlab中单独存图_奇怪的Matlab画图技巧系列1–保存高清大图

    毕业季马上要到了,给大家总结一些我平常用到的奇特但是好用的Matlab画图技巧 保存高清大图 很多朋友保存Matlab图片时会选择jpg保存或者截图,然后放到论文发现特别模糊尤其文字部分是进行缩放调整 ...

  3. Matlab plot()自定义线宽及保存高清大图

    matlab中绘图使用函数plot() plot(x, y, 'o', 'LineWidth', 3, 'MarkerEdgeColor', 'r', 'MarkerFaceColor', 'g', ...

  4. PPT画图(或排版)后保存为高清图片(可自定义分辨率)

    (做个笔记) 第一次发paper,画图只会用PPT,然后复制再粘贴为图片,分辨率远远达不到期刊的要求.一审的时候被审稿人嫌弃"图丑","分辨率"不够.但是修改文 ...

  5. 含泪整理最优质名胜 古迹cc0高清摄影图片素材,你想要的这里都有

    最近看到很多朋友吐槽名胜 古迹cc0高清摄影图片素材不好找,有时花了大把时间却没找到合适的,而且有的时候会涉及到各种各样的问题等,不仅工作效率降低,还闹心郁闷,所以今天就给大家分享一下小编自己在亲身体 ...

  6. Mac系统容易忽视但很实用的命令整理

    001.终端指定用哪个软件打开指定的文件 # open -a 实用哪个软件(软件名有空格需转义) 文件名路径 open -a /Applications/Google\ Chrome.app xx.h ...

  7. 生产环境几个实用的命令整理(一)

    #1.FTP部分 ftp localhost #连接FTP,密码输入错误使用Ctrl+Backspace删除字符#下载FTP文件 get 文件名 mget 多个文件名#往FTP上传文件 put 文件名 ...

  8. Matplotlib 常用画图命令总结:使用 Python 在论文中画出一手漂亮的数据图

    介绍 本文不是一篇详尽的.从简到繁的 Matplotlib 画图教程,而是用各种例子快速直观地让读者上手 Matplotlib 画图中的一些常用的.基础的操作.本文不对各种数据图(折线图.柱状图等)作 ...

  9. Redis 远程字典服务及shell全部命令汇总【点击可查看高清原图】(附 xmind思维导图原文件 百度网盘)

    xmind思维导图原文件分享 链接:https://pan.baidu.com/s/10lGFF9OlxU8a5cfzCYYJKA 提取码:ugi2

最新文章

  1. _declspec(naked) 使用(裸函数)
  2. (转载)你好,C++(17)0.1*10不等于1.0——4.1.4 关系操作符4.1.5 逻辑操作符
  3. 线性表的顺序存储的基本操作
  4. react中规范类型接口的使用
  5. eclipse-sql server 2008连接
  6. windows批处理文件打印幻方
  7. mysql 中IF()、IFNULL()、NULLIF()、ISNULL()函数的使用
  8. comps电磁场模拟软件_|Mentor Graphics IE3D(电磁场仿真软件)下载v15.0官方版 - 欧普软件下载...
  9. linux i350网卡,intel I350 网卡驱动安装方法
  10. pioneer软件VoLTE测试步骤,世纪鼎利Pioneer连接移动平台进行VoLTE测试操作说明综述...
  11. 把视频文件放在服务器上,生成链接供外部访问
  12. 外贸常用术语_外贸常用术语大全
  13. C#--throw的几种抛异常方式及区别
  14. 高企!2022年武汉市高新技术企业奖励补贴以及申报条件汇总!
  15. 检测tomcat 在CentOS 上的运行状态,发送邮件
  16. 2019年的最后一天,你会想些啥?
  17. seo是什么意思?包含哪些方面?
  18. Xilinx FPGA 引脚功能详细介绍
  19. VB开发源码+视频教程大集合
  20. android使用AlarmManager实现应用每天定时执行任务

热门文章

  1. 用Meta标签代码让360双核浏览器默认极速模式不是兼容模式
  2. 用Java代码编程实现模拟机器人对话
  3. 单链表操作之合并两个单链表
  4. App Store上下载和安装Xcode
  5. Excel 2010 VBA 入门 135 利用窗体制作登录界面
  6. matplotlib设置坐标轴
  7. linux 2.6.28.7 各驱动代码位置(待验证,已验证为蓝色标识)
  8. 数据结构(八):排序 | 插入排序 | 希尔排序 | 冒泡排序 | 快速排序 | 简单选择排序 | 堆排序 | 归并排序 | 基数排序 | 外部排序 | 败者树 | 置换-选择排序 | 最佳归并树
  9. 0. DRF之软件开发模式CBV源码解析
  10. CK-GW06-E01网关与欧姆龙PLC配置指南