Awesome-latex-drawing es una colección de más de 30 ejemplos de dibujo académico para usar LaTeX, incluidas redes bayesianas, trazado de funciones, modelos gráficos, estructura tensorial y marcos técnicos.
LaTeX es un sistema tipográfico de alta calidad disponible como software gratuito, muy utilizado en los últimos años para la creación de gráficos académicos. Su popularidad se debe a su capacidad para manejar ilustraciones complejas con símbolos especiales y ecuaciones matemáticas, lo que lo hace ideal para dibujar gráficos detallados en investigaciones.
Este proyecto presenta varios gráficos creados con LaTeX, con ejemplos que son fáciles de seguir en Overleaf, una popular plataforma LaTeX en línea. Si está interesado, no dude en explorar y reproducir nuestros ejemplos en Overleaf.com.
pgfplots
tikz
para estructura matricial tikz-3dplot
para estructura tensorial ¿Buscas algunos buenos ejemplos de dibujo en LaTeX? Aquí hay más de 30 gráficos para mostrar cómo dibujar en LaTaX.
LaTeX proporciona algunos paquetes y herramientas potentes específicos de dominio, como tikz
para permitir modelos gráficos flexibles. Las redes bayesianas representan una familia de modelos gráficos que consta de variables (generalmente indicadas por nodos) y relaciones de dependencia (generalmente indicadas por flechas). Afortunadamente, tikz
tiene una biblioteca específica para dibujar redes bayesianas y gráficos de factores dirigidos.
Otra caja de herramientas en Python: https://docs.daft-pgm.org/en/latest/
Este ejemplo es del siguiente artículo:
que muestra la red bayesiana del modelo de factorización CP bayesiana (BCPF). Para dibujar este ejemplo de red bayesiana, se deben seguir algunos preliminares:
- Qibin Zhao, Liqing Zhang, Andrzej Cichocki (2015). Factorización CP bayesiana de tensores incompletos con determinación automática de rango. Transacciones IEEE sobre análisis de patrones e inteligencia artificial, 37(9): 1751-1763.
preamble
:documentclass
como standalone
, por ejemplo, documentclass[border = 0.1cm]{standalone}
con borde de 0.1cm,tikz
, es decir, usepackage{tikz}
, y use la biblioteca tikz
como usetikzlibrary{bayesnet}
que es una herramienta importante para dibujar redes bayesianas y gráficos de factores dirigidos.tikz
usando el comando tikzstyle{}
,usepackage{amsfonts, amsmath, amssymb}
.body
:begin{tikzpicture} end{tikzpicture}
para comenzar a dibujar,node
para definir nodos y cuadros de texto en la red bayesiana,path
para definir flechas en la red bayesiana,plate
para definir placas en la red bayesiana.Haga clic en la imagen y consulte el código fuente.
Este ejemplo es del siguiente artículo:
que muestra la red bayesiana del modelo de factorización CP bayesiana gaussiana (BGCP). Para dibujar este ejemplo de red bayesiana, se deben seguir algunos preliminares:Xinyu Chen, Zhaocheng He, Lijun Sun (2019). Un enfoque de descomposición del tensor bayesiano para la imputación de datos de tráfico espaciotemporal. Investigación en transporte Parte C: Tecnologías emergentes, 98: 73-84.
preamble
:documentclass
como standalone
, por ejemplo, documentclass[border = 0.1cm]{standalone}
con borde de 0.1cm,tikz
, es decir, usepackage{tikz}
, y use la biblioteca tikz
como usetikzlibrary{bayesnet}
que es una herramienta importante para dibujar redes bayesianas y gráficos de factores dirigidos.tikz
usando el comando tikzstyle{}
,usepackage{amsmath, amsfonts, amssymb}
.body
:begin{tikzpicture} end{tikzpicture}
para comenzar a dibujar,node
para definir nodos y cuadros de texto en la red bayesiana,path
para definir flechas en la red bayesiana,plate
para definir placas en la red bayesiana.Haga clic en la imagen y consulte el código fuente. Si está interesado en la red bayesiana original de BGCP en el documento, consulte BGCP.tex.
Este ejemplo es del siguiente artículo:
que muestra la red bayesiana del modelo bayesiano de factorización de tensor aumentado (BATF). Para dibujar este ejemplo de red bayesiana, se deben seguir algunos preliminares:Xinyu Chen, Zhaocheng He, Yixian Chen, Yuhuan Lu, Jiawei Wang (2019). Imputación de datos de tráfico faltantes y descubrimiento de patrones con un modelo bayesiano de factorización de tensor aumentado. Investigación en transporte Parte C: Tecnologías emergentes, 104: 66-77.
preamble
:documentclass
como standalone
, por ejemplo, documentclass[border = 0.1cm]{standalone}
con borde de 0.1cm,tikz
, es decir, usepackage{tikz}
, y use la biblioteca tikz
como usetikzlibrary{bayesnet}
que es una herramienta importante para dibujar redes bayesianas y gráficos de factores dirigidos.tikz
usando el comando tikzstyle{}
,usepackage{amsmath, amsfonts, amssymb}
.body
:begin{tikzpicture} end{tikzpicture}
para comenzar a dibujar,node
para definir nodos y cuadros de texto en la red bayesiana,path
para definir flechas en la red bayesiana,plate
para definir placas en la red bayesiana.Haga clic en la imagen y consulte el código fuente.
Este ejemplo es del siguiente artículo:
que muestra la red bayesiana del modelo de factorización de matriz temporal bayesiana (BTMF). Para dibujar este ejemplo de red bayesiana, se deben seguir algunos preliminares:Xinyu Chen, Lijun Sun (2021). Factorización temporal bayesiana para predicción de series temporales multidimensionales. Transacciones IEEE sobre análisis de patrones e inteligencia artificial, 44 (9): 4659-4673.
preamble
:documentclass
como standalone
, por ejemplo, documentclass[border = 0.1cm]{standalone}
con borde de 0.1cm,tikz
, es decir, usepackage{tikz}
, y use la biblioteca tikz
como usetikzlibrary{bayesnet}
que es una herramienta importante para dibujar redes bayesianas y gráficos de factores dirigidos.tikz
usando el comando tikzstyle{}
,usepackage{amsmath, amsfonts, amssymb}
.body
:begin{tikzpicture} end{tikzpicture}
para comenzar a dibujar,node
para definir nodos y cuadros de texto en la red bayesiana,path
para definir flechas en la red bayesiana,plate
para definir placas en la red bayesiana.Haga clic en la imagen y consulte el código fuente. En lugar de un proceso autorregresivo vectorial multivariado sobre factores temporales, también podemos utilizar un proceso autorregresivo univariado para reconstruir BTMF. La red Beyasian está disponible en btmf_net.png, también puede consultar el código fuente btmf_net.tex.
Estos dos ejemplos muestran la matriz y el tensor de series temporales parcialmente observados, respectivamente. Para dibujar ambos ejemplos, podemos seguir estos pasos:
códigos preamble
:
documentclass
como standalone
,tikz
. códigos body
:
begin{tikzpicture} end{tikzpicture}
para comenzar a dibujar,node
para definir nodos y cuadros de texto en el modelo gráfico,path
para definir flechas en el modelo gráfico. Estos dos ejemplos muestran la predicción de series temporales en presencia de valores faltantes. Para dibujar ambos ejemplos, podemos seguir estos pasos:
códigos preamble
:
documentclass
como standalone
,tikz
. códigos body
:
begin{tikzpicture} end{tikzpicture}
para comenzar a dibujar,node
para definir nodos y cuadros de texto en el modelo gráfico,path
para definir flechas en el modelo gráfico. Estos dos ejemplos muestran los gráficos circulantes y no dirigidos en las muestras de datos relacionales con ciertos grados. Para dibujar ambos ejemplos, podemos seguir estos pasos:
códigos preamble
:
documentclass
como standalone
,tikz
. códigos body
:
begin{tikzpicture} end{tikzpicture}
para comenzar a dibujar,node
para definir nodos,path
para definir flechas. Este ejemplo es del siguiente artículo:
Xinyu Chen, Zhanhong Cheng, Nicolas Saunier, Lijun Sun (2022). Representación convolucional laplaciana para la imputación de series temporales de tráfico. arXiv preimpresión arXiv: 2212.01529.
que ofrece una ilustración gráfica del modelo convolucional laplaciano para la imputación de series temporales. Para dibujar el ejemplo, podemos seguir estos pasos:
preamble
:documentclass
como standalone
,tikz
.body
:begin{tikzpicture} end{tikzpicture}
para comenzar a dibujar,begin{axis} end{axis}
y addplot
para dibujar coordenadas,node
y path
para dibujar nodos y flechas.pgfplots
Estos dos ejemplos muestran la función de densidad de probabilidad (PDF) y la función de densidad acumulativa (CDF) de la distribución de Erlang, respectivamente. Para dibujar el ejemplo, hay algunos pasos a seguir:
preamble
:documentclass
como standalone
,pgfplots
,pgfplotsset{}
como prefiera.body
:begin{tikzpicture} end{tikzpicture}
para comenzar a dibujar,begin{axis} end{axis}
para dibujar la función,addplot
para definir la función para dibujar. Este ejemplo muestra la PDF de distribución normal con diferentes medias y varianzas. Para dibujar este ejemplo, hay algunos pasos a seguir:
preamble
:documentclass
como standalone
,pgfplots
,pgfplotsset{}
como prefiera.body
:pgfmathdeclarefunction
para definir la función PDF de distribución normal (gaussiana),begin{tikzpicture} end{tikzpicture}
para comenzar a dibujar,begin{axis} end{axis}
para dibujar la función,addplot
para definir la función para dibujar.Estos dos ejemplos muestran la PDF y la PDF conjunta de distribuciones lognormales, respectivamente. Hay algunos materiales recomendados para seguir los ejemplos:
Estos dos ejemplos muestran el proceso iterativo del gradiente conjugado para resolver un sistema de ecuaciones lineales.
Estos dos ejemplos muestran los patrones faltantes aleatorios y no aleatorios. Para dibujar ambos ejemplos, podemos seguir estos pasos:
preamble
:documentclass
como standalone
,tikz
y pgfplots
,begin{filecontents} end{filecontents}
para contener los datos.body
:begin{tikzpicture} end{tikzpicture}
para comenzar a dibujar,begin{axis} end{axis}
para dibujar la función,addplot
para dibujar los datos. Este ejemplo muestra cuatro secuencias que constan de funciones seno y coseno. Al considerar estas secuencias como series de tiempo, podemos ver dos tipos de dinámica temporal, es decir, una es de la función seno y otra es de la función coseno. Para dibujar este ejemplo, podemos seguir estos pasos:
preamble
:documentclass
como standalone
,pgfplots
,pgfplotsset{}
como prefiera.body
:pgfmathdeclarefunction
para definir la función PDF de distribución normal (gaussiana),begin{tikzpicture} end{tikzpicture}
para comenzar a dibujar,begin{axis} end{axis}
para dibujar la función,addplot
para definir la función para dibujar. Este ejemplo ilustra el mecanismo de pronóstico de series de tiempo en la transmisión de datos en nuestro proyecto de base de seguimiento. Para dibujar este ejemplo, podemos seguir estos pasos:
preamble
:documentclass
como standalone
,tikz
y pgfplots
,pgfplotsset{}
como prefiera.body
:begin{tikzpicture} end{tikzpicture}
para comenzar a dibujar,begin{axis} end{axis}
para definir el gráfico,addplot
para definir las marcas en algunas coordenadas y especificar el color de estas marcas.tikz
para estructura matricial Este ejemplo ofrece una ilustración gráfica del problema de pronóstico de series de tiempo multivariadas con valores faltantes. Para dibujar este ejemplo, podemos seguir estos pasos:
preamble
:documentclass
como standalone
,tikz
.body
:Depth
, Width
y Height
usando newcommand
,begin{tikzpicture} end{tikzpicture}
para comenzar a dibujar,draw
, filldraw
y node
para definir rectángulos y nodos. Este ejemplo ofrece una ilustración gráfica de la factorización de la matriz temporal. Para dibujar este ejemplo, podemos seguir estos pasos:
preamble
:documentclass
como standalone
,tikz
.body
:begin{tikzpicture} end{tikzpicture}
para comenzar a dibujar,draw
y filldraw
para configurar nodos y rectángulos. Este ejemplo ofrece una ilustración gráfica del pronóstico de series de tiempo móviles con factorización de matriz temporal. Para dibujar este ejemplo, podemos seguir estos pasos:
preamble
:documentclass
como standalone
,tikz
.body
:begin{tikzpicture} end{tikzpicture}
para comenzar a dibujar,draw
y filldraw
para configurar nodos y rectángulos.tikz-3dplot
para estructura tensorial Este ejemplo ofrece una ilustración gráfica de un tensor de tercer orden. Para dibujar este ejemplo, podemos seguir estos pasos:
preamble
:documentclass
como standalone
,tikz
y tikz-3dplot
.body
:Depth
, Width
y Height
usando newcommand
,begin{tikzpicture} end{tikzpicture}
para comenzar a dibujar,draw
para definir nodos. Este ejemplo ofrece una ilustración gráfica de la factorización clásica del tensor CP en un tensor de tercer orden. Para dibujar este ejemplo, podemos seguir estos pasos:
preamble
:documentclass
como standalone
,tikz
y tikz-3dplot
.body
:Depth
, Width
y Height
usando newcommand
,begin{tikzpicture} end{tikzpicture}
para comenzar a dibujar,draw
para definir nodos. Este ejemplo ofrece una ilustración gráfica del modelo de factorización de tensor aumentado. Para dibujar este ejemplo, podemos seguir estos pasos:
preamble
:documentclass
como standalone
,tikz
y tikz-3dplot
.body
:Depth
, Width
y Height
usando newcommand
,begin{tikzpicture} end{tikzpicture}
para comenzar a dibujar,draw
para definir nodos. Este ejemplo ofrece una ilustración gráfica de la tarea de finalización del tensor y su marco, incluida la organización de datos y la finalización del tensor, en la que se observan parcialmente las mediciones de tráfico. Para dibujar este ejemplo, podemos seguir estos pasos:
preamble
:documentclass
como standalone
,tikz
y tikz-3dplot
.body
:Depth
, Width
y Height
usando newcommand
,begin{tikzpicture} end{tikzpicture}
para comenzar a dibujar,draw
para definir nodos. Este ejemplo ofrece una ilustración gráfica del modelo de terminación de tensor autorregresivo de bajo rango. Para dibujar este ejemplo, podemos seguir estos pasos:
preamble
:documentclass
como standalone
,tikz
y tikz-3dplot
.body
:Depth
, Width
y Height
usando newcommand
,begin{tikzpicture} end{tikzpicture}
para comenzar a dibujar,node
, path
, plate
para definir nodos, flechas y placas,draw
para definir nodos. Este ejemplo ofrece una ilustración gráfica del proceso de umbralización de valores singulares de los datos del tensor con transformación unitaria. Para dibujar este ejemplo, podemos seguir estos pasos:
preamble
:documentclass
como standalone
,tikz
y tikz-3dplot
.body
:Depth
, Width
y Height
usando newcommand
,begin{tikzpicture} end{tikzpicture}
para comenzar a dibujar,node
para definir nodos,draw
para definir nodos,filldraw
para definir los colores de los rectángulos. Este ejemplo ofrece una ilustración gráfica del modelo de terminación de tensor de rango bajo. Para dibujar este ejemplo, podemos seguir estos pasos:
preamble
:documentclass
como standalone
,tikz
y tikz-3dplot
,algorithm2e
,usetikzlibrary{positioning, matrix, fit, calc}
.body
:begin{algorithm} end{algorithm}
para definir el algoritmo,matrix
para posicionar los componentes,begin{scope} end{scope}
para contener las capas. Este ejemplo ofrece una ilustración gráfica del modelo de regresión tensorial de rango bajo. Para dibujar este ejemplo, podemos seguir estos pasos:
preamble
:documentclass
como standalone
,tikz
y tikz-3dplot
.body
:Depth
, Width
y Height
usando newcommand
,begin{tikzpicture} end{tikzpicture}
para comenzar a dibujar,draw
para definir nodos.Este ejemplo muestra la precisión de la imputación de algunos modelos matriciales y tensoriales. Para dibujar este ejemplo, podemos seguir estos pasos:
preamble
:documentclass
como standalone
,tikz
.body
:begin{tikzpicture} end{tikzpicture}
para comenzar a dibujar,draw
para definir nodos,pgfuseimage
para importar imágenes. La mayoría de estos ejemplos provienen de nuestros artículos:
Xinyu Chen, Zhanhong Cheng, HanQin Cai, Nicolas Saunier, Lijun Sun (2024). "Representación convolucional laplaciana para la imputación de series de tiempo de tráfico" . Transacciones IEEE sobre conocimiento e ingeniería de datos, 36 (11): 6490-6502. [Preimpresión] [DOI] [Diapositivas] [Datos y código Python]
Xinyu Chen, Lijun Sun (2022). "Factorización temporal bayesiana para predicción de series temporales multidimensionales" . Transacciones IEEE sobre análisis de patrones e inteligencia artificial, 44 (9): 4659-4673. [Preimpresión] [DOI] [Diapositivas] [Datos y código Python]
Xinyu Chen, Mengying Lei, Nicolas Saunier, Lijun Sun (2022). "Completación de tensor autorregresivo de bajo rango para la imputación de datos de tráfico espaciotemporal" . Transacciones IEEE sobre sistemas de transporte inteligentes, 23 (8): 12301-12310. [Preimpresión] [DOI] [Código de datos y Python] (También aceptado en parte en el taller MiLeTS de KDD 2021, consulte el documento del taller)
Xinyu Chen, Yixian Chen, Nicolas Saunier, Lijun Sun (2021). "Aprendizaje tensor escalable de bajo rango para la imputación de datos de tráfico espaciotemporal" . Investigación en transporte Parte C: Tecnologías emergentes, 129: 103226. [Preimpresión] [DOI] [Datos] [Código Python]
Xinyu Chen, Lijun Sun (2020). "Completación de tensor autorregresivo de bajo rango para pronóstico de series temporales multivariadas" . arXiv preimpresión arXiv: 2006.10436. [Preimpresión] [Datos y código Python]
Xinyu Chen, Jinming Yang, Lijun Sun (2020). "Un modelo de finalización de tensor de bajo rango no convexo para la imputación de datos de tráfico espaciotemporal" . Investigación en transporte Parte C: Tecnologías emergentes, 117: 102673. [Preimpresión] [DOI] [Datos y código Python]
Xinyu Chen, Zhaocheng He, Yixian Chen, Yuhuan Lu, Jiawei Wang (2019). "Imputación de datos de tráfico faltantes y descubrimiento de patrones con un modelo bayesiano de factorización de tensor aumentado" . Investigación en transporte Parte C: Tecnologías emergentes, 104: 66-77. [DOI] [Diapositivas] [Datos] [Código Matlab] [Código Python]
Xinyu Chen, Zhaocheng He, Lijun Sun (2019). "Un enfoque de descomposición del tensor bayesiano para la imputación de datos de tráfico espaciotemporal" . Investigación en transporte Parte C: Tecnologías emergentes, 98: 73-84. [Preimpresión] [DOI] [Datos] [Código Matlab] [Código Python]