使用MATLAB画SCI论文图

这篇具有很好参考价值的文章主要介绍了使用MATLAB画SCI论文图。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

从gcf和gca说起

不论是 Python 绘图还是Matlab绘图,想要获得更好看的图,都会用到这两个单词。

gcf:get current figure,是目标图像的图形句柄对象
gca:get current axes,是目标图像的坐标轴句柄对象

Matlab 同样支持面向对象编程。在 Matlab 打开一个绘图窗口或画一张图后输入 gcfgca 就会获得当前图像对象或当前坐标轴对象的属性。

使用MATLAB画SCI论文图
使用MATLAB画SCI论文图
事实上,当 MATLAB 创建一个绘图时,它会创建一系列的图形对象,有图窗、坐标区、线条、填充、文本和图例等等对象。
下面的例子有三个图形对象 —— 一个坐标区、一条线条和一个文本对象,使用可选输出参数可以存储所创建的图形对象。

x = -pi:pi/20:pi;
y = sin(x);

f = figure;
p = plot(x,y);
txt1 = text(0.2,0,'sin(x)');

使用MATLAB画SCI论文图
所有图形对象均有可以查看和修改的属性,这些属性具有默认值。

若要访问图形对象的个别属性,请使用圆点表示法语法 object.PropertyName。例如,返回线条对象的 LineWidth 属性。

pcol = p.LineWidth

通过设置线条的 Color 属性将其颜色更改为红色。

p.Color = 'red';

通用函数get和set

当查看和修改对象的很多属性时,上面的方法就不适用了,Matlab 中有 getset 函数用于获取对象的属性和设置对象的属性。

使用方法:

v = get(h):返回 h 标识的图形对象的所有属性和属性值, v 是一个结构体;
v = get(h,propertyName1,propertyName2,···):返回特定属性 propertyName1,propertyName2,··· 的值,使用时须用单引号将属性名引起来 ;
使用 getset 函数时,MATLAB 识别一个属性时是不分大小写的。另外,只要用足够多的字符来唯一地辨识一个属性名即可。例如,坐标轴对象中的位置属性可以用 ‘Position’,‘position’,甚至是 ‘pos’ 来调用。
set(H,propertyName1,Value1,propertyName2,Value2,···):为 H 标识的对象指定其属性的值
s = set(H):返回 H 标识的对象的、可由用户设置的属性及其可能的值。

父类与子类

MATLAB 按一定的层次结构排列图形对象。层次结构的顶部是称为图形根的特殊对象。若要访问图形根,请使用 groot 函数。
groot 定义了 figure 可以用的最大 szie。groot 下面是 figure。figue 就是你画图的时候跳出来的那个新的对话窗口。如果 figure 变化,groot 是不会跟着变化的。但 groot 变化的话,figure 就要跟着变化了。

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

line,text,legend 等等就是你用指令在图上加的东西。

所有图形对象(除了根)均有一个父级。例如,坐标区的父级是一个图窗。

h.Parenth.Children 可获得图形对象的父级和子级。例如下面这张图有八个子级—— 5 个坐标轴对象,2 个图例对象,1 个颜色条对象。

使用MATLAB画SCI论文图

>> f.Children

ans = 

    8×1 graphics 数组:

    Axes
    Axes
    Legend      (data1)
    Axes
    Axes
    ColorBar
    Legend      (data1, data2)
    Axes        (aaaa)

因为 figure 有多个子级,Children 属性的值是一个图形对象数组。要访问 figure 的个别子级,请对数组建立索引。然后,可以设置子级对象的属性。

t = f.Children(8);       % get the 'aaaa' Axes object
t.FontWeight = 'bold';    % set the font to bold
t.Children;              % view 'aaaa' Axes object's Children

ans = 

    2×1 Line 数组:

    Line    (data2)
    Line    (data1)

常用属性

当了解以上知识后,理论上,只要知道图形对象的各种属性就可以制作出想要的效果。事实上,当知道这些属性时,在 plot,text,legend···时加上这些参数也可以。
下面给出常用对象的常用属性表以及可选参数

figure 常用属性

‘Number’:图窗编号
‘Name’:图窗名字
‘Color’:背景颜色,指定为 RGB 三元组、十六进制颜色代码、颜色名称或短名称
‘Position’:可绘制区域的位置和大小,[left bottom width height]
‘Units’:测量单位,可选择’pixels’ (默认)| ‘normalized’ | ‘inches’ | ‘centimeters’ | ‘points’ | ‘characters’
‘MenuBar’:Figure 菜单栏显示方式,可选择’figure’ (默认)| ‘none’
‘ToolBar’:Figure 工具栏显示,可选择’auto’ (默认)| ‘figure’ | ‘none’
‘Resize’:图窗能否调整大小,‘on’ (默认)| ‘off’

axes 常用属性

‘FontName’:字体名称,可选支持的字体名称 | ‘FixedWidth’
‘FontWeight’:字符粗细,‘normal’ (默认)| ‘bold’
‘FontSize’:字体大小,数值标量
‘FontAngle’:字符倾斜,‘normal’(默认)| ‘italic’
‘XTick, YTick, ZTick’:刻度值,[](默认)| 由递增值组成的向量
‘XTickLabel, YTickLabel, ZTickLabel’:刻度标签,‘’(默认)| 字符向量元胞数组 | 字符串数组 | 分类数组
刻度值是坐标轴上显示刻度线的位置,刻度标签是你在每个刻度线旁边看到的标签。
‘XLim, YLim, ZLim’:最小和最大坐标轴范围,[0 1] (默认)| [min max] 形式的二元素向量
‘XAxisLocation’:x 轴位置,‘bottom’ (默认)| ‘top’ | ‘origin’
‘YAxisLocation’:y 轴位置,‘left’ (默认)| ‘right’ | ‘origin’
‘XGrid, YGrid, ZGrid’:网格线,‘off’ (默认)| on
‘GridLineStyle’:网格线的线型,‘-’ (默认)| ‘–’ | ‘:’ | ‘-.’ | ‘none’
‘GridColor’:网格线的颜色,[0.15 0.15 0.15] (默认)| RGB 三元组 | 十六进制颜色代码 | ‘r’ | ‘g’ | ‘b’ | …
‘Title’:标题的文本对象
‘Color’:背景色,[1 1 1] (默认)| RGB 三元组 | 十六进制颜色代码 | ‘r’ | ‘g’ | ‘b’ | …
‘LineWidth’:线条宽度,0.5 (默认)| 正数值
‘Box’:框轮廓,‘off’ (默认)| ‘on’
‘Position’:大小和位置,不包括标签边距,[0.1300 0.1100 0.7750 0.8150] (默认)| [left bottom width height] 形式的四元素向量

legend 常用属性

‘Location’:相对于坐标区的位置,‘north’ | ‘south’ | ‘east’ | ‘west’ | ‘northeast’ | …
‘Position’:自定义位置和大小,[left bottom width height] 形式的四元素向量
‘Orientation’:方向,‘vertical’ (默认)| ‘horizontal’
‘NumColumns’:列数,1 (默认)| 正整数
‘FontName’:字体名称,支持的字体名称 | ‘FixedWidth’
‘FontSize’:字体大小,大于 0 的标量值
‘Color’:背景色,[1 1 1] (默认)| RGB 三元组 | 十六进制颜色代码 | ‘r’ | ‘g’ | ‘b’ | …
‘EdgeColor’:框轮廓颜色,[0.15 0.15 0.15] (默认)| RGB 三元组 | 十六进制颜色代码 | ‘r’ | ‘g’ | ‘b’ | …
‘Box’:框轮廓的显示,‘on’ (默认)| ‘off’
‘LineWidth’:框轮廓的宽度,0.5 (默认)| 正值

line属性

‘Color’:线条颜色,[0 0 0] (默认)| RGB 三元组 | 十六进制颜色代码 | ‘r’ | ‘g’ | ‘b’ | …
‘LineStyle’:线型,‘-’ (默认)| ‘–’ | ‘:’ | ‘-.’ | ‘none’
‘LineWidth’:线条宽度,0.5 (默认)| 正值
‘Marker’:标记符号,‘none’ (默认)| ‘o’ | ‘+’ | ‘*’ | ‘.’ | …
‘MarkerIndices’:要显示标记的数据点的索引,1:length(YData) (默认)| 正整数向量 | 正整数标量
‘MarkerSize’:标记大小,6 (默认)| 正值

事实上,figure,axes,legend 都有 Position,FontName,Fontsize,Color 等属性,它们的意思是一样的,参数形式也是一样的,只是代表了这个对象的属性和那个对象的属性

Simulink 示波器

Simulink 示波器也是对象,使用如下指令就可以打开示波器的绘图菜单,进行绘图操作

shh = get(0,'ShowHiddenHandles');
set(0,'ShowHiddenHandles','On');
set(gcf,'menubar','figure');
set(gcf,'CloseRequestFcn','closereq');
set(gcf,'DefaultLineClipping','Off');
set(0,'ShowHiddenHandles',shh);

绘图例子

下面是绘制一个单列的图片代码示例

clear all
figure(2)
set(gcf,'unit','centimeters','position',[10 5 8.4 10]); % 设置窗口位置[10cm,5cm]和大小8.4cm*10cm
set(gcf,'ToolBar','none','ReSize','off');   % 移除工具栏,不可调整大小
set(gcf,'color','w'); % 背景设为白色
% 以上也可在 编辑->图窗属性->窗口外观和位置 设置
 
t=0:0.1:1;
y1=t;
y2=t.^2;
y3=t+0.1;
y4=t.^4+0.1;
 
subplot(2,1,1) 
 
p1 = plot(t,y1,'b--','LineWidth',1.5);
hold on
p2 = plot(t,y2,'color',[0 0.81 0.82],'LineWidth',1.5);
set(gca,'Position',[0.14 0.52 0.83 0.33]);%第(1)个图的位置
g = get(p1,'Parent');%对应p1所在的坐标轴
set(g,'Linewidth',1.5,'FontSize',10,'FontName','Arial','FontWeight','bold');
ylabel('Error [m]','FontSize',10,'FontName','Arial','FontWeight','bold');
ylim([0,2])
%xlabel('t [s]','FontSize',10,'FontName','Arial','FontWeight','bold');
set(g,'XTick',[]); %隐藏X坐标轴

subplot(2,1,2) 

p3 = plot(t,y3,'r--','LineWidth',1.5);
hold on
p4 = plot(t,y4,'color',[0 0.3 0.82],'LineWidth',1.5);
set(gca,'Position',[0.14 0.16 0.83 0.33]);%第(3)个图的位置
g = get(p4,'Parent');%对应p1所在的坐标轴
set(g,'Linewidth',1.5,'FontSize',10,'FontName','Arial','FontWeight','bold');
ylim([0,2])
ylabel('Error [m]','FontSize',10,'FontName','Arial','FontWeight','bold');
xlabel({'t [s]','(a)'},'FontSize',10,'FontName','Arial','FontWeight','bold'); %{}作为换行给图标号
 
h1=legend([p1 p2 p3 p4],'\fontname{Arial}y_1','\fontname{Arial}y_2','\fontname{Arial}y_3',...
    '\fontname{Arial}y_4','Orientation','horizontal');
set(h1,'Linewidth',1.5,'FontSize',10,'FontWeight','bold');
set(h1,'position',[0.4,0.9,0.2,0.1]);%legend位置
set(h1,'Box','off');

当使用 Matlab 编写程序代码时,遇到行数较长的情况,如果不换行,将使得代码不易阅读,这时可以进行换行。但换行不是简单的用回车进行,需要增添 … ,表示连接下一行

导出SCI论文能用的图

先在渲染处设置一下 dpi,SCI 论文都要求 dpi 300 以上,再导出为 tiff 格式(SCI论文推荐用这个),这样得到的图片怎样放缩都不会模糊,用 Latex 写论文可导出为 pdf 或者 eps 格式。

使用MATLAB画SCI论文图

使用MATLAB画SCI论文图

使用MATLAB画SCI论文图
也可以指令导出,print(figure_handle,fileformat,'-r300',filename),其中的四个参数:

a、figure_handle: 图形句柄

b、fileformat:单引号字符串,指定存储格式:
png 格式: ‘-dpng’
jpeg 格式:‘-djpeg’
tiff 格式: ‘-dtiff’
pdf 格式: ‘-dpdf’
bmp 格式: ‘-dbitmap’
gif 格式:‘-dgif’
emf 无损格式:‘-dmeta’

c、‘-r300’:期望 dpi 300

d、 filename:文件名,可带路径,不设置就存当前文件夹。文章来源地址https://www.toymoban.com/news/detail-487157.html

到了这里,关于使用MATLAB画SCI论文图的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 《花雕学AI》03:我最早接触的人工智能应用,还是要从AI绘画说起

    AI绘画是指利用人工智能技术,根据输入的文本或图片,生成逼真或有创意的图像的过程。AI绘画有很多不同的软件和平台,可以让用户体验到AI的魅力和趣味。 AI绘画的历史可以追溯到上世纪70年代,当时一位艺术家哈罗德·科恩开发了一个电脑程序AARON,可以进行绘画创作。

    2024年02月11日
    浏览(31)
  • 使用spss拆分文件功能轻松绘制论文数据基线表(sci表一)

    我们的论文分析时经常需要进行一个一般人群的数据基线表的统计分析,一般来说就是SCI论文中的表一,如下图 表中Q1-Q4为4个亚组,分别描述了每个亚组的均值和标准差,分类变量使用计数和百分比表示,最后还得出组间比较的P值,既往我们已经介绍了使用R语言多个R包绘制

    2024年02月15日
    浏览(27)
  • 【Simulink】示波器图形数据导入Matlab重新绘图的简明教程(论文)

    版本:Matlab2019b 示波器波形图片: 黑色背景,而且坐标轴字体较小,不方便修改,不能直接用在论文上面 对比 Matlab 绘图: 接下来介绍如何设置~ 选择需要导入的示波器数据 点击 View Configuration Properties … Logging Logging 页面中,勾选 Log data to workspace 变量名称 Variable name 可以自

    2024年02月06日
    浏览(32)
  • SCI论文Latex使用技巧——绘制表格、Fig 1:改为Fig.1.、公式编辑、文献管理bib

    网上在线绘制表格:https://www.tablesgenerator.com/ 根据自己的需要手动添加行和列,居中,加粗;点击generate生成Latex代码。 载入宏包加入这一行代码: usepackage{caption} 并且在begin {document} 下一行(下面)输入 网上在线编辑公式:https://www.slager.link/#/home?redirect=%2FGoogleScholar 线上教

    2024年02月12日
    浏览(31)
  • FigDraw 12. SCI 文章绘图之相关性矩阵图(Correlation Matrix)

    桓峰基因公众号推出基于R语言绘图教程并配有视频在线教程,目前整理出来的教程目录如下: FigDraw 1. SCI 文章的灵魂 之 简约优雅的图表配色 FigDraw 2. SCI 文章绘图必备 R 语言基础 FigDraw 3. SCI 文章绘图必备 R 数据转换 FigDraw 4. SCI 文章绘图之散点图 (Scatter) FigDraw 5. SCI 文章绘

    2023年04月08日
    浏览(30)
  • Python中的3D绘图命令~这还不放到论文或PPT里?

    我企鹅qun里的小伙伴最近问我python中有没有 3D绘图命令 ~ 确实这个很实用~很多情况下, 为了能够观察到数据之间的内部的关系, 可以使用绘图来更好的显示规律。 比如在下面的几张动图中, 使用 matplotlib中的三维显示命令 , 使得我们可以对于logistic回归网络的性能与相关

    2023年04月08日
    浏览(26)
  • SCI 论文插图格式一般要求

    插图是反映 SCI 文章品质的核心指标之一!!! 图片格式要求:图片一般可以保存为TIFF、JPEG、EPS这三种常见格式,并存为独立文件 。 二、图片色彩要求:一般要求为CMYK或RGB色彩。 1.尺寸符合杂志社的要求(宽度8.3~17.6厘米,高度一般不超过20厘米); 2.字体符合杂志社的要求英文(T

    2024年02月05日
    浏览(26)
  • 论文投稿指南——如何让SCI论文英语更地道(细节掌握)

    ​ ★  So/But/And/Also…等连接词不可用于句子的开头; ★ 在including,such as或for example的句尾,不要用“etc”; ★ e.g. 和 i.e. 一般只用于括号中,在正式文本中用全拼For example 和 That is更好; ★“researches” 只可作为动词用于“someone researches something”,不能作为研究(名词)

    2024年02月01日
    浏览(68)
  • MATLAB | 如何使用MATLAB获取顶刊《Nature》全部绘图(附带近3年全部图像)

    我出了如何使用MATLAB获取期刊《Cell》全部绘图,立马就有粉丝问《Nature》、《Sience》、《PNAS》啥的会不会安排,这期就给大家安排《Nature》全部绘图获取,之后其他期刊也会慢慢安排,但是不会一次性全出完(毕竟不能抓住一个主题就狠更)。 由于《Nature》绘图获取需要科学

    2024年02月09日
    浏览(29)
  • R语言如何绘制sci风格论文的图

    SCI(Science Citation Index)风格论文的图可以是多种形式,根据具体研究内容和方法的不同,常见的图形包括柱状图、折线图、散点图、饼图、雷达图、箱线图等。这些图形通常用于呈现实验数据、统计分析结果、研究结论等。图形的选择应根据研究目的和数据特点来决定,确保

    2024年02月22日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包