打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
如何在论文中画出漂亮的插图?用它!丨城市数据派


【本期看点】
LaTeX是一种非常好用的文档编辑软件,overleaf作为一款在线LaTeX编辑系统,它的出现使得LaTeX的使用门槛急剧降低。不过LaTeX除了具有优秀的文档编辑功能之外,还具有强大的图形绘制与数据可视化功能。结合LaTeX在线系统overleaf,本文将介绍如何用LaTeX画出漂亮的论文插图,实例包括时空序列数据可视化、时空数据张量复原技术流程图、贝叶斯网络,源代码来源于GitHub开源项目 awesome-latex-drawing (该项目目前已获得450+次标星、70+次fork),网址为:
https://github.com/xinychen/awesome-latex-drawing


  本期投稿  

作者:cat
数学爱好者


一、LaTeX 基本介绍
众所周知,LaTeX是一种基于TEX的排版系统,也是一款非常好用的文档编辑软件,LaTeX在生成复杂表格和数学公式方面具有突出的表现,因此,它非常适用于生成高质量的数学类文档。除编辑文档外,LaTeX也支持绘制各类图形,目前已经有非常多的相关工具包。可以说,LaTeX是一款与时俱进、功能极其强大的软件。

图1  LaTeX logo
 
遗憾的是,LaTeX并不像我们常用的Word这般“亲民”甚至容易上手,LaTeX是通过程序,更确切地说是通过一连串命令来编辑文档的,这使得很多初学者对LaTeX望而却步。


图2   LaTeX绘图实例:时序张量回归示意图
 

图3  LaTeX绘图实例:贝叶斯时序矩阵分解的贝叶斯网络
 

在图形绘制与数据可视化方面,相比常用编程语言(如Python、Matlab),LaTeX具有一定的优势:

① 在大量科技论文的插图中,LaTeX插入公式非常方便;

② LaTeX在绘图方面比常用编程语言更加灵活,例如绘图样式和图例均可手动调整;

③ LaTeX具有大量的图形绘制与数据可视化的工具包(例如tikz),这一点类似于Python(Python具有良好的开发社区,matplotlib、pyplot等工具包在可视化方面表现不俗)。

 
 
二、在线LaTeX系统:overleaf

overleaf是一款在线的LaTeX编辑系统,一直以来,被广大科研工作者誉为科研神器。当然,overleaf并非浪得虚名,其在设计上神奇的地方在于:

  • 免安装,免配置。简单来说就是,你什么都不需要安装,只要打开浏览器,输入overleaf.com,在该网址的网页界面注册账号就可以使用LaTeX了。

  • 包容万象,如你所需,应有尽有。只要输入\usepackage{}就可以调用工具包。

仅此两点,overleaf已经可以让绝大多数LaTeX用户啧啧称赞了。overleaf能让绝大多数LaTeX用户不再为本地安装LaTeX及其工具包的各种报错而抓狂。除此之外,overleaf还有一个非常显著的特点,它支持文档的多人协同编辑,通过添加合作者便可参与编辑。

 
图4  在线LaTeX系统overleaf的网页界面
(图片截图自网址为https://www.overleaf.com)
 
 
三、LaTeX的几个基本命令

- 创建文档,例如,创建绘图文档则可选用工具包tikz格式下的标准文档类型。

\documentclass[tikz, border = 0.1cm]{standalone}

- 调用工具包,例如,绘制图形的tikz、tikz-3dplot工具包、数学公式工具包amsmath。

\usepackage{tikz, tikz-3dplot}

\usepackage{amsmath, amsthm, amssymb}

\usepackage{xcolor}

- 编写文档正文

\begin{document}  % 开始文档

文档内容           % 编辑文档

\end{document}    % 结束文档

上述三个步骤为LaTeX绘图甚至编辑文档的基本格式,在上述命令的基础上,将源文件设置为.tex格式即可开始编写文档。如下图所示,在左侧的main.tex键入上述几行基本命令,并填入文档内容为“Hello world!”,点击编译按钮,即可得到右侧带有“Hello world!”的PDF文档。

 
图5  根据基本命令创建一个文档内容为“Helloworld!”的main.tex,并将其编译成PDF文档
 
 
四、LaTeX绘图实例

实际上,LaTeX在绘图方面的表现得益于tikz工具包的开发,tikz是LaTeX原生支持的工具包,可以绘制各类科技论文中的插图,这其中包括二维图、三维图、流程图、示意图。

当然,一直以来,LaTeX绘图的缺点也很明显:难度较高,入门需要花费一定的时间。为了让更多人接触和使用LaTeX进行科技绘图,以下将选取几个绘图实例进行详细讲解。

图6 本文选取的几个绘图实例效果图
 
1. 路段车速数据的时间序列

一般而言,时间序列是在不同时间上收集的数据,主要用于描述某观测变量随时间的动态变化过程。在时空数据中,大量连续时间观测数据均可归为时间序列,其中一部分数据属于多元时间序列,也存在相当一部分数据属于多维时间序列。在城市道路上,某条路段每间隔一定时间(如10分钟)获取的平均车速数据(抑或是车流量)是一种比较常见的时间序列。

使用LaTeX绘制时间序列可按如下步骤进行操作:

(一)在overleaf中创建一个项目

如下图所示,可选择空白项目,然后调用所需的工具包。

 
图7  在overleaf中定义一个名为example的文件,自动生成的main.tex可设置和调用基本工具包,如tikz和pdfplots
 
(二)读入时间序列数据文件
当然,也可以在main.tex文件中添加数据。如下图所示,数据文件speed1.data的第一列为时间标签,第二列为具体对应的车速值,数据文件的定义以\begin{filecontents}开始、以\end{filecontents}结束。

图8  在main.tex文件中读入时间序列数据,并以.data为拓展名进行命名
 

(三)指定图例

选择横纵坐标,并对坐标轴进行定义,如下图所示。

 
图9  在main.tex文件中指定绘图图例,并设置横纵坐标轴
 

(四)输出图形

如下图所示,打开main.tex文件并点击recompile就可以生成绘图的pdf文件。

 
图10  打开main.tex文件、点击recompile就可以生成图形可视化效果,图中左侧为代码区域,右侧为输出pdf文件预览区域
 

2. 时空交通数据修复技术框架

LaTeX在绘制技术框架方面也具有突出的优势,以时空交通数据修复技术为例,我们仅需要短短几步便可得到一份漂亮的可视化效果。具体而言:

(一)在overleaf中创建一个项目

(二)读入并插入所需的底图文件

例如下图红框标示出来的curve1.pdf和curve2.pdf,将两个文件的位置稍作调整即可。

 
图11  读入并插入底图文件
 

(三)设计三维张量

这一步稍微繁琐一点,首先需要根据所设置的顶点坐标,创建立方体结构,如下图所示,然后再考虑在\draw{}函数中设置三维张量的图形透明度。

 
图12  定义顶点设计三维张量,再通过\draw{}函数设置图形透明度
 

(四)对各部分图形进行组合

如下图所示,各部分图形需要采用箭头进行逻辑连接,与此同时,仍需要细心调整各图形的坐标,从而使得图形在视觉上具有连贯性。

 
图13  将各部分图形通过调整坐标进行组合,完成时空交通数据修复技术框架
 
3. 张量分解的贝叶斯网络

尽管当下有很多支持绘制贝叶斯网络的软件,但单就支持数学公式而言,LaTeX无外乎是绝佳的选择。用LaTeX绘制贝叶斯网络时,需要将图形与数学公式进行组合,目前,工具包bayesnet支持绘制各类贝叶斯网络,调用tikz和bayesnet后,基本的图形命令为三种:

  • \node:绘制节点,可标记贝叶斯网络中的变量;

  • \path:绘制箭头,可标记贝叶斯网络中的变量间概率依赖关系;

  • \plate:绘制平面,可标记变量的数目。

 
图14  利用LaTeX绘制张量分解的贝叶斯网络,网络中包含节点、箭头和平面,基本命名可调用工具包tikz和bayesnet中的部分函数
 

4. 时序矩阵分解的贝叶斯网络

与张量分解的贝叶斯网络绘制相似,时序矩阵分解的贝叶斯网络也是由node、path、plate三个基本图形绘制命令构成,通过使用工具包tikz和bayesnet即可实现。

图15  利用LaTeX绘制的时序矩阵分解贝叶斯网络
 
 
5. 矩阵分解的示意图

用LaTeX绘制下图所示的示意图时,需要将图形与数学公式进行组合,调用tikz后,基本的图形命令只有两个:

  • \draw:绘制图形,例如图中的矩形、公式节点;

  • \filldraw:绘制带填充的图形,例如图中红色和绿色的矩形。

 

图16  基于时序矩阵分解的时空交通数据预测示意图

 
五、后记

LaTeX在图形绘制和数据可视化方面具有得天独厚的优势,本文通过实例解析,希望更多人学会并使用LaTeX进行绘图。当然,笔者深信,当你真正开始一项LaTeX绘图项目时,一定会被它强大的绘图功能所吸引。



 期待合作 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
全程快捷键!硬核小哥超快配图1700页数学笔记,教你上手LaTeX Inkscape
TiKZ 做原生绘图,实在是麻烦
十款好用的画图软件,你都用过吗?
科研工具|论文绘图软件到底那个好用?
高颜值的SCI论文配图是怎样炼成的?
150分钟学会R语言与R常见问题解答
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服