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。
陳新宇,孫麗君(2020)。用於多元時間序列預測的低秩自迴歸張量完成。 arXiv 預印本 arXiv:2006.10436。 [預印本] [資料與Python程式碼]
陳新宇,楊金明,孫麗君(2020)。用於時空交通資料插補的非凸低秩張量補全模型。交通研究 C 部分:新興技術,117:102673。
陳新宇、何兆成、陳一賢、陸玉環、王家偉 (2019)。使用貝葉斯增強張量分解模型進行缺失交通資料插補和模式發現。交通研究 C 部分:新興技術,104:66-77。 [DOI] [幻燈片] [數據] [Matlab 程式碼] [Python 程式碼]
陳新宇,何兆成,孫麗君(2019)。用於時空交通資料插補的貝葉斯張量分解方法。交通研究 C 部分:新興技術,98:73-84。 [預印本] [DOI] [資料] [Matlab 程式碼] [Python 程式碼]