赞
踩
在图形绘制与数据可视化方面,相比常用编程语言(如Python、Matlab),LaTeX具有一定的优势:
① 在大量科技论文的插图中,LaTeX插入公式非常方便;
② LaTeX在绘图方面比常用编程语言更加灵活,例如绘图样式和图例均可手动调整;
③ LaTeX具有大量的图形绘制与数据可视化的工具包(例如tikz),这一点类似于Python(Python具有良好的开发社区,matplotlib、pyplot等工具包在可视化方面表现不俗)。
二、在线LaTeX系统:overleafoverleaf是一款在线的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的第一列为时间标签,第二列为具体对应的车速值,数据文件的定义以(三)指定图例
选择横纵坐标,并对坐标轴进行定义,如下图所示。
▲ 图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:绘制平面,可标记变量的数目。
用LaTeX绘制下图所示的示意图时,需要将图形与数学公式进行组合,调用tikz后,基本的图形命令只有两个:
\draw:绘制图形,例如图中的矩形、公式节点;
\filldraw:绘制带填充的图形,例如图中红色和绿色的矩形。
LaTeX在图形绘制和数据可视化方面具有得天独厚的优势,本文通过实例解析,希望更多人学会并使用LaTeX进行绘图。当然,笔者深信,当你真正开始一项LaTeX绘图项目时,一定会被它强大的绘图功能所吸引。
期待合作
商业合作、投稿等,请联系客服微信号,加好友必须备注:合作+姓名更多服务
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。