awesome-latex-drawing ist eine Sammlung von über 30 akademischen Zeichenbeispielen für die Verwendung von LaTeX, darunter Bayes'sche Netzwerke, Funktionsdiagramme, grafische Modelle, Tensorstruktur und technische Frameworks.
LaTeX ist ein hochwertiges Schriftsatzsystem, das als kostenlose Software verfügbar ist und in den letzten Jahren häufig für die Erstellung akademischer Grafiken verwendet wurde. Seine Beliebtheit beruht auf seiner Fähigkeit, komplexe Illustrationen mit speziellen Symbolen und mathematischen Gleichungen zu verarbeiten, was es ideal zum Zeichnen detaillierter Grafiken in der Forschung macht.
Dieses Projekt stellt mehrere mit LaTeX erstellte Grafiken vor, mit Beispielen, die auf Overleaf, einer beliebten Online-LaTeX-Plattform, leicht nachzuvollziehen sind. Wenn Sie interessiert sind, können Sie unsere Beispiele gerne auf Overleaf unter overleaf.com erkunden und reproduzieren.
pgfplots
tikz
für Matrixstruktur tikz-3dplot
für Tensorstruktur Suchen Sie nach guten LaTeX-Zeichnungsbeispielen? Hier finden Sie über 30 Grafiken, die zeigen, wie man in LaTaX zeichnet.
LaTeX bietet einige leistungsstarke domänenspezifische Pakete und Tools wie tikz
um flexible grafische Modelle zu ermöglichen. Bayesianische Netzwerke stellen eine Familie grafischer Modelle dar, die aus Variablen (normalerweise durch Knoten gekennzeichnet) und Abhängigkeitsbeziehungen (normalerweise durch Pfeile gekennzeichnet) bestehen. Glücklicherweise verfügt tikz
über eine spezielle Bibliothek zum Zeichnen von Bayes'schen Netzwerken und gerichteten Faktorgraphen.
Eine weitere Toolbox in Python: https://docs.daft-pgm.org/en/latest/
Dieses Beispiel stammt aus dem folgenden Artikel:
Dies zeigt das Bayesian Network of Bayesian CP Factorization (BCPF)-Modell. Um dieses Beispiel für ein Bayes'sches Netzwerk zu zeichnen, müssen einige Vorbereitungen getroffen werden:
- Qibin Zhao, Liqing Zhang, Andrzej Cichocki (2015). Bayesianische CP-Faktorisierung unvollständiger Tensoren mit automatischer Rangbestimmung. IEEE Transactions on Pattern Analysis and Machine Intelligence, 37(9): 1751-1763.
preamble
:documentclass
als standalone
, z. B. documentclass[border = 0.1cm]{standalone}
mit 0,1 cm Rand,tikz
, also usepackage{tikz}
, und verwenden Sie tikz
-Bibliothek wie usetikzlibrary{bayesnet}
die ein wichtiges Werkzeug zum Zeichnen von Bayes'schen Netzwerken und gerichteten Faktorgraphen ist.tikz
-Stil mit dem Befehl tikzstyle{}
fest.usepackage{amsfonts, amsmath, amssymb}
.body
:begin{tikzpicture} end{tikzpicture}
um mit dem Zeichnen zu beginnen.node
, um Knoten und Textfelder im Bayes'schen Netzwerk zu definieren.path
, um Pfeile im Bayes'schen Netzwerk zu definieren.plate
um Platten im Bayes'schen Netzwerk zu definieren.Bitte klicken Sie auf das Bild und sehen Sie sich den Quellcode an.
Dieses Beispiel stammt aus dem folgenden Artikel:
Dies zeigt das Bayesian-Netzwerk des Bayesian Gaußschen CP-Faktorisierungsmodells (BGCP). Um dieses Beispiel für ein Bayes'sches Netzwerk zu zeichnen, müssen einige Vorbereitungen getroffen werden:Xinyu Chen, Zhaocheng He, Lijun Sun (2019). Ein Bayes'scher Tensorzerlegungsansatz für die raumzeitliche Imputation von Verkehrsdaten. Transportforschung Teil C: Emerging Technologies, 98: 73-84.
preamble
:documentclass
als standalone
, z. B. documentclass[border = 0.1cm]{standalone}
mit 0,1 cm Rand,tikz
, also usepackage{tikz}
, und verwenden Sie tikz
-Bibliothek wie usetikzlibrary{bayesnet}
die ein wichtiges Werkzeug zum Zeichnen von Bayes'schen Netzwerken und gerichteten Faktorgraphen ist.tikz
-Stil mit dem Befehl tikzstyle{}
fest.usepackage{amsmath, amsfonts, amssymb}
.body
:begin{tikzpicture} end{tikzpicture}
um mit dem Zeichnen zu beginnen.node
, um Knoten und Textfelder im Bayes'schen Netzwerk zu definieren.path
, um Pfeile im Bayes'schen Netzwerk zu definieren.plate
um Platten im Bayes'schen Netzwerk zu definieren.Bitte klicken Sie auf das Bild und sehen Sie sich den Quellcode an. Wenn Sie sich für das ursprüngliche Bayes'sche Netzwerk von BGCP im Artikel interessieren, schauen Sie sich bitte BGCP.tex an.
Dieses Beispiel stammt aus dem folgenden Artikel:
Dies zeigt das Bayesianische Netzwerk des Bayesian Augmented Tensor Factorization (BATF)-Modells. Um dieses Beispiel für ein Bayes'sches Netzwerk zu zeichnen, müssen einige Vorbereitungen getroffen werden:Xinyu Chen, Zhaocheng He, Yixian Chen, Yuhuan Lu, Jiawei Wang (2019). Imputation fehlender Verkehrsdaten und Mustererkennung mit einem Bayes'schen erweiterten Tensorfaktorisierungsmodell. Transportforschung Teil C: Emerging Technologies, 104: 66-77.
preamble
:documentclass
als standalone
, z. B. documentclass[border = 0.1cm]{standalone}
mit 0,1 cm Rand,tikz
, also usepackage{tikz}
, und verwenden Sie tikz
-Bibliothek wie usetikzlibrary{bayesnet}
die ein wichtiges Werkzeug zum Zeichnen von Bayes'schen Netzwerken und gerichteten Faktorgraphen ist.tikz
-Stil mit dem Befehl tikzstyle{}
fest.usepackage{amsmath, amsfonts, amssymb}
.body
:begin{tikzpicture} end{tikzpicture}
um mit dem Zeichnen zu beginnen.node
, um Knoten und Textfelder im Bayes'schen Netzwerk zu definieren.path
, um Pfeile im Bayes'schen Netzwerk zu definieren.plate
um Platten im Bayes'schen Netzwerk zu definieren.Bitte klicken Sie auf das Bild und sehen Sie sich den Quellcode an.
Dieses Beispiel stammt aus dem folgenden Artikel:
Dies zeigt das Bayesianische Netzwerk des BTMF-Modells (Bayesian Temporal Matrix Factorization). Um dieses Beispiel für ein Bayes'sches Netzwerk zu zeichnen, müssen einige Vorbereitungen getroffen werden:Xinyu Chen, Lijun Sun (2021). Bayesianische zeitliche Faktorisierung für mehrdimensionale Zeitreihenvorhersage. IEEE Transactions on Pattern Analysis and Machine Intelligence, 44 (9): 4659-4673.
preamble
:documentclass
als standalone
, z. B. documentclass[border = 0.1cm]{standalone}
mit 0,1 cm Rand,tikz
, also usepackage{tikz}
, und verwenden Sie tikz
-Bibliothek wie usetikzlibrary{bayesnet}
die ein wichtiges Werkzeug zum Zeichnen von Bayes'schen Netzwerken und gerichteten Faktorgraphen ist.tikz
-Stil mit dem Befehl tikzstyle{}
fest.usepackage{amsmath, amsfonts, amssymb}
.body
:begin{tikzpicture} end{tikzpicture}
um mit dem Zeichnen zu beginnen.node
, um Knoten und Textfelder im Bayes'schen Netzwerk zu definieren.path
, um Pfeile im Bayes'schen Netzwerk zu definieren.plate
um Platten im Bayes'schen Netzwerk zu definieren.Bitte klicken Sie auf das Bild und sehen Sie sich den Quellcode an. Anstelle des multivariaten vektorautoregressiven Prozesses für zeitliche Faktoren können wir auch einen univariaten autoregressiven Prozess verwenden, um BTMF neu zu erstellen. Das Beyasian-Netzwerk ist unter btmf_net.png verfügbar. Sie können sich auch den Quellcode btmf_net.tex ansehen.
Diese beiden Beispiele zeigen die teilweise beobachtete Zeitreihenmatrix bzw. den Tensor. Um beide Beispiele zu zeichnen, können wir die folgenden Schritte ausführen:
preamble
:
documentclass
als standalone
.tikz
. body
:
begin{tikzpicture} end{tikzpicture}
um mit dem Zeichnen zu beginnen.node
um Knoten und Textfelder im grafischen Modell zu definieren.path
um Pfeile im grafischen Modell zu definieren. Diese beiden Beispiele zeigen die Zeitreihenvorhersage bei Vorhandensein fehlender Werte. Um beide Beispiele zu zeichnen, können wir die folgenden Schritte ausführen:
preamble
:
documentclass
als standalone
.tikz
. body
:
begin{tikzpicture} end{tikzpicture}
um mit dem Zeichnen zu beginnen.node
um Knoten und Textfelder im grafischen Modell zu definieren.path
um Pfeile im grafischen Modell zu definieren. Diese beiden Beispiele zeigen die ungerichteten und zirkulierenden Graphen auf den relationalen Datenproben mit bestimmten Graden. Um beide Beispiele zu zeichnen, können wir die folgenden Schritte ausführen:
preamble
:
documentclass
als standalone
.tikz
. body
:
begin{tikzpicture} end{tikzpicture}
um mit dem Zeichnen zu beginnen.node
, um Knoten zu definieren.path
um Pfeile zu definieren. Dieses Beispiel stammt aus dem folgenden Artikel:
Xinyu Chen, Zhanhong Cheng, Nicolas Saunier, Lijun Sun (2022). Laplace-Faltungsdarstellung für die Imputation von Verkehrszeitreihen. arXiv-Vorabdruck arXiv: 2212.01529.
Dies gibt eine grafische Darstellung des Laplace-Faltungsmodells für die Zeitreihenimputation. Um das Beispiel zu zeichnen, können wir diesen Schritten folgen:
preamble
:documentclass
als standalone
.tikz
.body
:begin{tikzpicture} end{tikzpicture}
um mit dem Zeichnen zu beginnen.begin{axis} end{axis}
und addplot
, um Koordinaten zu zeichnen,node
und path
um Knoten und Pfeile zu zeichnen.pgfplots
Funktionsdarstellung Diese beiden Beispiele zeigen die Wahrscheinlichkeitsdichtefunktion (PDF) bzw. die kumulative Dichtefunktion (CDF) der Erlang-Verteilung. Um das Beispiel zu zeichnen, müssen Sie einige Schritte befolgen:
preamble
:documentclass
als standalone
.pgfplots
,pgfplotsset{}
nach Ihren Wünschen an.body
:begin{tikzpicture} end{tikzpicture}
um mit dem Zeichnen zu beginnen.begin{axis} end{axis}
um die Funktion zu zeichnen,addplot
um die Funktion zum Zeichnen zu definieren. Dieses Beispiel zeigt das PDF der Normalverteilung mit unterschiedlichen Mittelwerten und Varianzen. Um dieses Beispiel zu zeichnen, müssen Sie einige Schritte befolgen:
preamble
:documentclass
als standalone
.pgfplots
,pgfplotsset{}
nach Ihren Wünschen an.body
:pgfmathdeclarefunction
, um die PDF-Funktion der Normalverteilung (Gaußverteilung) zu definieren.begin{tikzpicture} end{tikzpicture}
um mit dem Zeichnen zu beginnen.begin{axis} end{axis}
um die Funktion zu zeichnen,addplot
um die Funktion zum Zeichnen zu definieren.Diese beiden Beispiele zeigen das PDF bzw. das gemeinsame PDF von Lognormalverteilungen. Es gibt einige empfohlene Materialien, um den Beispielen zu folgen:
Diese beiden Beispiele zeigen den iterativen Prozess des konjugierten Gradienten zur Lösung eines linearen Gleichungssystems.
Diese beiden Beispiele zeigen die zufälligen und nicht zufälligen fehlenden Muster. Um beide Beispiele zu zeichnen, können wir die folgenden Schritte ausführen:
preamble
:documentclass
als standalone
.tikz
als auch pgfplots
.begin{filecontents} end{filecontents}
um die Daten einzuschließen.body
:begin{tikzpicture} end{tikzpicture}
um mit dem Zeichnen zu beginnen.begin{axis} end{axis}
um die Funktion zu zeichnen,addplot
um die Daten zu zeichnen. Dieses Beispiel zeigt vier Sequenzen bestehend aus Sinus- und Cosinusfunktionen. Wenn wir diese Sequenzen als Zeitreihen betrachten, können wir zwei Arten zeitlicher Dynamik erkennen, nämlich eine von der Sinusfunktion und eine andere von der Kosinusfunktion. Um dieses Beispiel zu zeichnen, können wir die folgenden Schritte ausführen:
preamble
:documentclass
als standalone
.pgfplots
,pgfplotsset{}
nach Ihren Wünschen an.body
:pgfmathdeclarefunction
, um die PDF-Funktion der Normalverteilung (Gaußverteilung) zu definieren.begin{tikzpicture} end{tikzpicture}
um mit dem Zeichnen zu beginnen.begin{axis} end{axis}
um die Funktion zu zeichnen,addplot
um die Funktion zum Zeichnen zu definieren. Dieses Beispiel veranschaulicht den Mechanismus der Zeitreihenvorhersage für Streaming-Daten in unserem Tracebase-Projekt. Um dieses Beispiel zu zeichnen, können wir die folgenden Schritte ausführen:
preamble
:documentclass
als standalone
.tikz
als auch pgfplots
.pgfplotsset{}
nach Ihren Wünschen an.body
:begin{tikzpicture} end{tikzpicture}
um mit dem Zeichnen zu beginnen.begin{axis} end{axis}
um die Grafik zu definieren.addplot
um die Markierungen an einigen Koordinaten zu definieren und die Farbe dieser Markierungen anzugeben.tikz
für Matrixstruktur Dieses Beispiel veranschaulicht grafisch das Problem der multivariaten Zeitreihenvorhersage mit fehlenden Werten. Um dieses Beispiel zu zeichnen, können wir die folgenden Schritte ausführen:
preamble
:documentclass
als standalone
.tikz
.body
:Depth
, Width
und Height
mithilfe von newcommand
fest.begin{tikzpicture} end{tikzpicture}
um mit dem Zeichnen zu beginnen.draw
, filldraw
und node
um Rechtecke und Knoten zu definieren. Dieses Beispiel veranschaulicht grafisch die zeitliche Matrixfaktorisierung. Um dieses Beispiel zu zeichnen, können wir die folgenden Schritte ausführen:
preamble
:documentclass
als standalone
.tikz
.body
:begin{tikzpicture} end{tikzpicture}
um mit dem Zeichnen zu beginnen.draw
und filldraw
um Knoten und Rechtecke festzulegen. Dieses Beispiel zeigt eine grafische Darstellung der rollierenden Zeitreihenvorhersage mit zeitlicher Matrixfaktorisierung. Um dieses Beispiel zu zeichnen, können wir die folgenden Schritte ausführen:
preamble
:documentclass
als standalone
.tikz
.body
:begin{tikzpicture} end{tikzpicture}
um mit dem Zeichnen zu beginnen.draw
und filldraw
um Knoten und Rechtecke festzulegen.tikz-3dplot
für Tensorstruktur Dieses Beispiel zeigt eine grafische Darstellung eines Tensors dritter Ordnung. Um dieses Beispiel zu zeichnen, können wir die folgenden Schritte ausführen:
preamble
:documentclass
als standalone
.tikz
als auch tikz-3dplot
.body
:Depth
, Width
und Height
mithilfe von newcommand
fest.begin{tikzpicture} end{tikzpicture}
um mit dem Zeichnen zu beginnen.draw
um Knoten zu definieren. Dieses Beispiel veranschaulicht grafisch die klassische CP-Tensorfaktorisierung auf einem Tensor dritter Ordnung. Um dieses Beispiel zu zeichnen, können wir die folgenden Schritte ausführen:
preamble
:documentclass
als standalone
.tikz
als auch tikz-3dplot
.body
:Depth
, Width
und Height
mithilfe von newcommand
fest.begin{tikzpicture} end{tikzpicture}
um mit dem Zeichnen zu beginnen.draw
um Knoten zu definieren. Dieses Beispiel zeigt eine grafische Darstellung des erweiterten Tensorfaktorisierungsmodells. Um dieses Beispiel zu zeichnen, können wir die folgenden Schritte ausführen:
preamble
:documentclass
als standalone
.tikz
als auch tikz-3dplot
.body
:Depth
, Width
und Height
mithilfe von newcommand
fest.begin{tikzpicture} end{tikzpicture}
um mit dem Zeichnen zu beginnen.draw
um Knoten zu definieren. Dieses Beispiel zeigt eine grafische Darstellung der Tensor-Vervollständigungsaufgabe und ihres Rahmenwerks, einschließlich der Datenorganisation und Tensor-Vervollständigung, wobei Verkehrsmessungen teilweise beobachtet werden. Um dieses Beispiel zu zeichnen, können wir die folgenden Schritte ausführen:
preamble
:documentclass
als standalone
.tikz
als auch tikz-3dplot
.body
:Depth
, Width
und Height
mithilfe von newcommand
fest.begin{tikzpicture} end{tikzpicture}
um mit dem Zeichnen zu beginnen.draw
um Knoten zu definieren. Dieses Beispiel zeigt grafisch das autoregressive Tensor-Vervollständigungsmodell mit niedrigem Rang. Um dieses Beispiel zu zeichnen, können wir die folgenden Schritte ausführen:
preamble
:documentclass
als standalone
.tikz
als auch tikz-3dplot
.body
:Depth
, Width
und Height
mithilfe von newcommand
fest.begin{tikzpicture} end{tikzpicture}
um mit dem Zeichnen zu beginnen.node
, path
plate
um Knoten, Pfeile und Platten zu definieren.draw
um Knoten zu definieren. Dieses Beispiel zeigt grafisch den Singulärwert-Schwellenwertprozess der Tensordaten mit einheitlicher Transformation. Um dieses Beispiel zu zeichnen, können wir die folgenden Schritte ausführen:
preamble
:documentclass
als standalone
.tikz
als auch tikz-3dplot
.body
:Depth
, Width
und Height
mithilfe von newcommand
fest.begin{tikzpicture} end{tikzpicture}
um mit dem Zeichnen zu beginnen.node
, um Knoten zu definieren.draw
, um Knoten zu definieren.filldraw
um die Farben von Rechtecken zu definieren. Dieses Beispiel zeigt eine grafische Darstellung des Tensor-Vervollständigungsmodells mit niedrigem Rang. Um dieses Beispiel zu zeichnen, können wir die folgenden Schritte ausführen:
preamble
:documentclass
als standalone
.tikz
als auch tikz-3dplot
.algorithm2e
Paket.usetikzlibrary{positioning, matrix, fit, calc}
.body
:begin{algorithm} end{algorithm}
, um den Algorithmus zu definieren.matrix
, um die Komponenten zu positionieren.begin{scope} end{scope}
um die Ebenen einzuschließen. Dieses Beispiel zeigt eine grafische Darstellung des Tensor-Regressionsmodells mit niedrigem Rang. Um dieses Beispiel zu zeichnen, können wir die folgenden Schritte ausführen:
preamble
:documentclass
als standalone
.tikz
als auch tikz-3dplot
.body
:Depth
, Width
und Height
mithilfe von newcommand
fest.begin{tikzpicture} end{tikzpicture}
um mit dem Zeichnen zu beginnen.draw
um Knoten zu definieren.Dieses Beispiel zeigt die Imputationsgenauigkeit einiger Matrix- und Tensormodelle. Um dieses Beispiel zu zeichnen, können wir die folgenden Schritte ausführen:
preamble
:documentclass
als standalone
.tikz
.body
:begin{tikzpicture} end{tikzpicture}
um mit dem Zeichnen zu beginnen.draw
, um Knoten zu definieren.pgfuseimage
um Bilder zu importieren. Die meisten dieser Beispiele stammen aus unseren Arbeiten:
Xinyu Chen, Zhanhong Cheng, HanQin Cai, Nicolas Saunier, Lijun Sun (2024). Laplace-Faltungsdarstellung für die Imputation von Verkehrszeitreihen . IEEE Transactions on Knowledge and Data Engineering, 36 (11): 6490-6502. [Vorabdruck] [DOI] [Folien] [Daten & Python-Code]
Xinyu Chen, Lijun Sun (2022). Bayesianische zeitliche Faktorisierung für mehrdimensionale Zeitreihenvorhersage . IEEE Transactions on Pattern Analysis and Machine Intelligence, 44 (9): 4659-4673. [Vorabdruck] [DOI] [Folien] [Daten & Python-Code]
Xinyu Chen, Mengying Lei, Nicolas Saunier, Lijun Sun (2022). Autoregressive Tensorvervollständigung mit niedrigem Rang für die Imputation von raumzeitlichen Verkehrsdaten . IEEE Transactions on Intelligent Transportation Systems, 23 (8): 12301-12310. [Preprint] [DOI] [Daten & Python-Code] (Auch teilweise für den MiLeTS-Workshop von KDD 2021 akzeptiert, siehe Workshop-Papier)
Xinyu Chen, Yixian Chen, Nicolas Saunier, Lijun Sun (2021). Skalierbares Low-Rank-Tensor-Lernen für die raumzeitliche Imputation von Verkehrsdaten . Transportation Research Teil C: Emerging Technologies, 129: 103226. [Preprint] [DOI] [Daten] [Python-Code]
Xinyu Chen, Lijun Sun (2020). Autoregressive Tensorvervollständigung mit niedrigem Rang für multivariate Zeitreihenvorhersagen . arXiv-Vorabdruck arXiv: 2006.10436. [Vorabdruck] [Daten & Python-Code]
Xinyu Chen, Jinming Yang, Lijun Sun (2020). „Ein nichtkonvexes Tensor-Vervollständigungsmodell mit niedrigem Rang für die raumzeitliche Verkehrsdatenimputation“ . Transportation Research Teil C: Emerging Technologies, 117: 102673. [Preprint] [DOI] [Daten & Python-Code]
Xinyu Chen, Zhaocheng He, Yixian Chen, Yuhuan Lu, Jiawei Wang (2019). Imputation fehlender Verkehrsdaten und Mustererkennung mit einem Bayes'schen erweiterten Tensorfaktorisierungsmodell . Transportforschung Teil C: Emerging Technologies, 104: 66-77. [DOI] [Folien] [Daten] [Matlab-Code] [Python-Code]
Xinyu Chen, Zhaocheng He, Lijun Sun (2019). „Ein Bayes’scher Tensorzerlegungsansatz für die Imputation raumzeitlicher Verkehrsdaten“ . Transportforschung Teil C: Emerging Technologies, 98: 73-84. [Vordruck] [DOI] [Daten] [Matlab-Code] [Python-Code]