Awesome-latex-drawing是30 多个使用 LaTeX 的学术绘图示例的集合,包括贝叶斯网络、函数绘图、图形模型、张量结构和技术框架。
LaTeX 是一种高质量的排版系统,作为免费软件提供,近年来广泛用于创建学术图形。它的流行源于它能够处理带有特殊符号和数学方程的复杂插图,使其成为在研究中绘制详细图形的理想选择。
该项目介绍了使用 LaTeX 创建的几个图形,以及在流行的在线 LaTeX 平台 Overleaf 上易于理解的示例。如果您有兴趣,请随时在 overleaf.com 上探索和复制我们在 Overleaf 上的示例。
pgfplots
函数绘图tikz
矩阵结构tikz-3dplot
正在寻找一些好的 LaTeX 绘图示例?这里有 30 多个图形,用于展示如何在 LaTaX 中绘图。
LaTeX 提供了一些强大的特定领域包和工具(例如tikz
来支持灵活的图形模型。贝叶斯网络表示一系列由变量(通常由节点表示)和依赖关系(通常由箭头表示)组成的图形模型。幸运的是, tikz
有一个用于绘制贝叶斯网络和有向因子图的特定库。
Python 中的另一个工具箱:https://docs.daft-pgm.org/en/latest/
该示例来自以下论文:
它显示了贝叶斯 CP 分解 (BCPF) 模型的贝叶斯网络。要绘制这个贝叶斯网络示例,需要遵循一些准备工作:
- 赵其斌、张立青、Andrzej Cichocki (2015)。具有自动排序确定功能的不完全张量的贝叶斯 CP 分解。 IEEE 模式分析和机器智能汇刊,37(9):1751-1763。
preamble
码:documentclass
定义为standalone
,例如, documentclass[border = 0.1cm]{standalone}
,边框为0.1cm,tikz
包,即usepackage{tikz}
,并使用像usetikzlibrary{bayesnet}
这样的tikz
库,它是绘制贝叶斯网络和有向因子图的重要工具,tikzstyle{}
命令设置tikz
样式,usepackage{amsfonts, amsmath, amssymb}
。body
代码:begin{tikzpicture} end{tikzpicture}
开始绘图,node
定义贝叶斯网络中的节点和文本框,path
定义贝叶斯网络中的箭头,plate
定义贝叶斯网络中的板。请点击图片并查看源代码。
该示例来自以下论文:
该图显示了贝叶斯高斯 CP 分解 (BGCP) 模型的贝叶斯网络。要绘制这个贝叶斯网络示例,需要遵循一些准备工作:陈新宇,何兆成,孙丽君(2019)。用于时空交通数据插补的贝叶斯张量分解方法。交通研究 C 部分:新兴技术,98:73-84。
preamble
码:documentclass
定义为standalone
,例如, documentclass[border = 0.1cm]{standalone}
,边框为0.1cm,tikz
包,即usepackage{tikz}
,并使用像usetikzlibrary{bayesnet}
这样的tikz
库,它是绘制贝叶斯网络和有向因子图的重要工具,tikzstyle{}
命令设置tikz
样式,usepackage{amsmath, amsfonts, amssymb}
。body
代码:begin{tikzpicture} end{tikzpicture}
开始绘图,node
定义贝叶斯网络中的节点和文本框,path
定义贝叶斯网络中的箭头,plate
定义贝叶斯网络中的板。请点击图片并查看源代码。如果您对论文中 BGCP 的原始贝叶斯网络感兴趣,请查看 BGCP.tex。
该示例来自以下论文:
它显示了贝叶斯增强张量分解(BATF)模型的贝叶斯网络。要绘制这个贝叶斯网络示例,需要遵循一些准备工作:陈新宇、何兆成、陈一贤、陆玉环、王嘉伟 (2019)。使用贝叶斯增强张量分解模型进行缺失交通数据插补和模式发现。交通研究 C 部分:新兴技术,104:66-77。
preamble
码:documentclass
定义为standalone
,例如, documentclass[border = 0.1cm]{standalone}
,边框为0.1cm,tikz
包,即usepackage{tikz}
,并使用像usetikzlibrary{bayesnet}
这样的tikz
库,它是绘制贝叶斯网络和有向因子图的重要工具,tikzstyle{}
命令设置tikz
样式,usepackage{amsmath, amsfonts, amssymb}
。body
代码:begin{tikzpicture} end{tikzpicture}
开始绘图,node
定义贝叶斯网络中的节点和文本框,path
定义贝叶斯网络中的箭头,plate
定义贝叶斯网络中的板。请点击图片并查看源代码。
该示例来自以下论文:
它显示了贝叶斯时间矩阵分解(BTMF)模型的贝叶斯网络。要绘制这个贝叶斯网络示例,需要遵循一些准备工作:陈新宇,孙丽君(2021)。用于多维时间序列预测的贝叶斯时间分解。 IEEE 模式分析和机器智能汇刊,44 (9):4659-4673。
preamble
码:documentclass
定义为standalone
,例如, documentclass[border = 0.1cm]{standalone}
,边框为0.1cm,tikz
包,即usepackage{tikz}
,并使用像usetikzlibrary{bayesnet}
这样的tikz
库,它是绘制贝叶斯网络和有向因子图的重要工具,tikzstyle{}
命令设置tikz
样式,usepackage{amsmath, amsfonts, amssymb}
。body
代码:begin{tikzpicture} end{tikzpicture}
开始绘图,node
定义贝叶斯网络中的节点和文本框,path
定义贝叶斯网络中的箭头,plate
定义贝叶斯网络中的板。请点击图片并查看源代码。我们还可以使用单变量自回归过程来重建 BTMF,而不是对时间因素进行多元向量自回归过程。 Beyasian 网络位于 btmf_net.png,您还可以查看源代码 btmf_net.tex。
这两个示例分别显示了部分观察到的时间序列矩阵和张量。要绘制这两个示例,我们可以按照以下步骤操作:
preamble
码:
documentclass
定义为standalone
,tikz
包。 body
代码:
begin{tikzpicture} end{tikzpicture}
开始绘图,node
定义图形模型中的节点和文本框,path
定义图形模型中的箭头。 这两个示例显示了存在缺失值的情况下的时间序列预测。要绘制这两个示例,我们可以按照以下步骤操作:
preamble
码:
documentclass
定义为standalone
,tikz
包。 body
代码:
begin{tikzpicture} end{tikzpicture}
开始绘图,node
定义图形模型中的节点和文本框,path
定义图形模型中的箭头。 这两个例子在一定程度上展示了关系数据样本上的无向图和循环图。要绘制这两个示例,我们可以按照以下步骤操作:
preamble
码:
documentclass
定义为standalone
,tikz
包。 body
代码:
begin{tikzpicture} end{tikzpicture}
开始绘图,node
定义节点,path
定义箭头。 该示例来自以下论文:
陈新宇、程展宏、尼古拉斯·索尼埃、孙丽君 (2022)。用于交通时间序列插补的拉普拉斯卷积表示。 arXiv 预印本 arXiv:2212.01529。
它给出了时间序列插补的拉普拉斯卷积模型的图形说明。为了绘制示例,我们可以按照以下步骤操作:
preamble
码:documentclass
定义为standalone
,tikz
包。body
代码:begin{tikzpicture} end{tikzpicture}
开始绘图,begin{axis} end{axis}
和addplot
绘制坐标,node
和path
绘制节点和箭头。pgfplots
函数绘图这两个示例分别显示了 Erlang 分布的概率密度函数 (PDF) 和累积密度函数 (CDF)。要绘制示例,需要遵循以下几个步骤:
preamble
码:documentclass
定义为standalone
,pgfplots
包,pgfplotsset{}
。body
代码:begin{tikzpicture} end{tikzpicture}
开始绘图,begin{axis} end{axis}
绘制函数,addplot
定义绘图函数。 此示例显示具有不同均值和方差的正态分布的 PDF。要绘制此示例,需要遵循以下几个步骤:
preamble
码:documentclass
定义为standalone
,pgfplots
包,pgfplotsset{}
。body
代码:pgfmathdeclarefunction
定义正态(高斯)分布的 PDF 函数,begin{tikzpicture} end{tikzpicture}
开始绘图,begin{axis} end{axis}
绘制函数,addplot
定义绘图函数。这两个示例分别显示了对数正态分布的 PDF 和联合 PDF。有一些推荐材料可供参考:
这两个例子展示了求解线性方程组的共轭梯度的迭代过程。
这两个示例显示了随机和非随机缺失模式。要绘制这两个示例,我们可以按照以下步骤操作:
preamble
码:documentclass
定义为standalone
,tikz
和pgfplots
包,begin{filecontents} end{filecontents}
包含数据。body
代码:begin{tikzpicture} end{tikzpicture}
开始绘图,begin{axis} end{axis}
绘制函数,addplot
绘制数据。 此示例显示了由正弦和余弦函数组成的四个序列。当将这些序列视为时间序列时,我们可以看到两种时间动态,即一种来自正弦函数,另一种来自余弦函数。为了绘制这个例子,我们可以按照以下步骤操作:
preamble
码:documentclass
定义为standalone
,pgfplots
包,pgfplotsset{}
。body
代码:pgfmathdeclarefunction
定义正态(高斯)分布的 PDF 函数,begin{tikzpicture} end{tikzpicture}
开始绘图,begin{axis} end{axis}
绘制函数,addplot
定义绘图函数。 这个例子说明了我们的跟踪库项目中流数据的时间序列预测机制。为了绘制这个例子,我们可以按照以下步骤操作:
preamble
码:documentclass
定义为standalone
,tikz
和pgfplots
包,pgfplotsset{}
。body
代码:begin{tikzpicture} end{tikzpicture}
开始绘图,begin{axis} end{axis}
定义图形,addplot
定义某些坐标处的标记并指定这些标记的颜色。tikz
矩阵结构此示例以图形方式说明了具有缺失值的多元时间序列预测问题。为了绘制这个例子,我们可以按照以下步骤操作:
preamble
码:documentclass
定义为standalone
,tikz
包。body
代码:newcommand
设置Depth
、 Width
和Height
参数,begin{tikzpicture} end{tikzpicture}
开始绘图,draw
、 filldraw
和node
命令定义矩形和节点。 此示例给出了时间矩阵分解的图形说明。为了绘制这个例子,我们可以按照以下步骤操作:
preamble
码:documentclass
定义为standalone
,tikz
包。body
代码:begin{tikzpicture} end{tikzpicture}
开始绘图,draw
和filldraw
设置节点和矩形。 此示例给出了使用时间矩阵分解的滚动时间序列预测的图形说明。为了绘制这个例子,我们可以按照以下步骤操作:
preamble
码:documentclass
定义为standalone
,tikz
包。body
代码:begin{tikzpicture} end{tikzpicture}
开始绘图,draw
和filldraw
设置节点和矩形。tikz-3dplot
此示例给出了三阶张量的图形说明。为了绘制这个例子,我们可以按照以下步骤操作:
preamble
码:documentclass
定义为standalone
,tikz
和tikz-3dplot
包。body
代码:newcommand
设置Depth
、 Width
和Height
参数,begin{tikzpicture} end{tikzpicture}
开始绘图,draw
命令定义节点。 此示例给出了三阶张量上的经典 CP 张量分解的图形说明。为了绘制这个例子,我们可以按照以下步骤操作:
preamble
码:documentclass
定义为standalone
,tikz
和tikz-3dplot
包。body
代码:newcommand
设置Depth
、 Width
和Height
参数,begin{tikzpicture} end{tikzpicture}
开始绘图,draw
命令定义节点。 此示例给出了增强张量分解模型的图形说明。为了绘制这个例子,我们可以按照以下步骤操作:
preamble
码:documentclass
定义为standalone
,tikz
和tikz-3dplot
包。body
代码:newcommand
设置Depth
、 Width
和Height
参数,begin{tikzpicture} end{tikzpicture}
开始绘图,draw
命令定义节点。 此示例给出了张量完成任务及其框架(包括数据组织和张量完成)的图形说明,其中部分观察了流量测量。为了绘制这个例子,我们可以按照以下步骤操作:
preamble
码:documentclass
定义为standalone
,tikz
和tikz-3dplot
包。body
代码:newcommand
设置Depth
、 Width
和Height
参数,begin{tikzpicture} end{tikzpicture}
开始绘图,draw
命令定义节点。 此示例给出了低秩自回归张量完成模型的图形说明。为了绘制这个例子,我们可以按照以下步骤操作:
preamble
码:documentclass
定义为standalone
,tikz
和tikz-3dplot
包。body
代码:newcommand
设置Depth
、 Width
和Height
参数,begin{tikzpicture} end{tikzpicture}
开始绘图,node
、 path
、 plate
命令定义节点、箭头和板,draw
命令定义节点。 此示例给出了使用酉变换对张量数据进行奇异值阈值处理的图形说明。为了绘制这个例子,我们可以按照以下步骤操作:
preamble
码:documentclass
定义为standalone
,tikz
和tikz-3dplot
包。body
代码:newcommand
设置Depth
、 Width
和Height
参数,begin{tikzpicture} end{tikzpicture}
开始绘图,node
命令定义节点,draw
命令定义节点,filldraw
命令定义矩形的颜色。 此示例给出了低秩张量完成模型的图形说明。为了绘制这个例子,我们可以按照以下步骤操作:
preamble
码:documentclass
定义为standalone
,tikz
和tikz-3dplot
包,algorithm2e
包,usetikzlibrary{positioning, matrix, fit, calc}
。body
代码:begin{algorithm} end{algorithm}
环境来定义算法,matrix
命令来定位组件,begin{scope} end{scope}
包含层。 此示例给出了低秩张量回归模型的图形说明。为了绘制这个例子,我们可以按照以下步骤操作:
preamble
码:documentclass
定义为standalone
,tikz
和tikz-3dplot
包。body
代码:newcommand
设置Depth
、 Width
和Height
参数,begin{tikzpicture} end{tikzpicture}
开始绘图,draw
命令定义节点。此示例显示了一些矩阵和张量模型的插补精度。为了绘制这个例子,我们可以按照以下步骤操作:
preamble
码:documentclass
定义为standalone
,tikz
包。body
代码:begin{tikzpicture} end{tikzpicture}
开始绘图,draw
命令定义节点,pgfuseimage
命令导入图像。 这些例子大部分来自我们的论文:
陈新宇、程展宏、蔡涵勤、尼古拉斯·索尼埃、孙丽君 (2024)。用于交通时间序列插补的拉普拉斯卷积表示。 IEEE 知识与数据工程汇刊,36 (11):6490-6502。 [预印本] [DOI] [幻灯片] [数据和 Python 代码]
陈新宇,孙丽君(2022)。用于多维时间序列预测的贝叶斯时间分解。 IEEE 模式分析和机器智能汇刊,44 (9):4659-4673。 [预印本] [DOI] [幻灯片] [数据和 Python 代码]
陈新宇、雷梦莹、尼古拉斯·索尼埃、孙丽君 (2022)。用于时空交通数据插补的低秩自回归张量完成。 IEEE 智能交通系统汇刊,23 (8):12301-12310。 [预印本] [DOI] [数据和 Python 代码](KDD 2021 的 MiLeTS 研讨会也部分接受,请参阅研讨会论文)
陈新宇、陈一贤、尼古拉斯·索尼埃、孙丽君 (2021)。用于时空交通数据插补的可扩展低秩张量学习。交通研究 C 部分:新兴技术,129:103226。 [预印本] [DOI] [数据] [Python 代码]
陈新宇,孙丽君(2020)。用于多元时间序列预测的低秩自回归张量完成。 arXiv 预印本 arXiv:2006.10436。 [预印本] [数据和Python代码]
陈新宇,杨金明,孙丽君(2020)。用于时空交通数据插补的非凸低秩张量补全模型。交通研究 C 部分:新兴技术,117:102673。 [预印本] [DOI] [数据和 Python 代码]
陈新宇、何兆成、陈一贤、陆玉环、王家伟 (2019)。使用贝叶斯增强张量分解模型进行缺失交通数据插补和模式发现。交通研究 C 部分:新兴技术,104:66-77。 [DOI] [幻灯片] [数据] [Matlab 代码] [Python 代码]
陈新宇,何兆成,孙丽君(2019)。用于时空交通数据插补的贝叶斯张量分解方法。交通研究 C 部分:新兴技术,98:73-84。 [预印本] [DOI] [数据] [Matlab 代码] [Python 代码]