awesome-latex-drawing é uma coleção de mais de 30 exemplos de desenho acadêmico para usar LaTeX, incluindo redes Bayesianas, plotagem de funções, modelos gráficos, estrutura tensorial e estruturas técnicas.
LaTeX é um sistema tipográfico de alta qualidade disponível como software livre, amplamente utilizado nos últimos anos para criação de gráficos acadêmicos. Sua popularidade decorre de sua capacidade de lidar com ilustrações complexas com símbolos especiais e equações matemáticas, tornando-o ideal para desenhar gráficos detalhados em pesquisas.
Este projeto apresenta vários gráficos criados em LaTeX, com exemplos fáceis de seguir no Overleaf, uma popular plataforma online de LaTeX. Se você estiver interessado, sinta-se à vontade para explorar e reproduzir nossos exemplos no Overleaf em overleaf.com.
pgfplots
tikz
para estrutura matricial tikz-3dplot
para estrutura tensorial Procurando alguns bons exemplos de desenho em LaTeX? Aqui estão mais de 30 gráficos para mostrar como desenhar em LaTaX.
O LaTeX fornece alguns pacotes e ferramentas poderosas específicas de domínio, como tikz
para permitir modelos gráficos flexíveis. As redes Bayesianas representam uma família de modelos gráficos que consistem em variáveis (geralmente indicadas por nós) e relações de dependência (geralmente indicadas por setas). Felizmente, tikz
possui uma biblioteca específica para desenhar redes Bayesianas e gráficos de fatores direcionados.
Outra caixa de ferramentas em Python: https://docs.daft-pgm.org/en/latest/
Este exemplo é do seguinte artigo:
que mostra a rede bayesiana do modelo de fatoração Bayesiana de CP (BCPF). Para desenhar este exemplo de rede Bayesiana, existem algumas preliminares a seguir:
- Qibin Zhao, Liqing Zhang, Andrzej Cichocki (2015). Fatoração Bayesiana CP de tensores incompletos com determinação automática de classificação. Transações IEEE em Análise de Padrões e Inteligência de Máquina, 37(9): 1751-1763.
preamble
:documentclass
como standalone
, por exemplo, documentclass[border = 0.1cm]{standalone}
com borda de 0,1cm,tikz
, ou seja, usepackage{tikz}
, e use a biblioteca tikz
como usetikzlibrary{bayesnet}
que é uma ferramenta importante para desenhar redes Bayesianas e gráficos de fatores direcionados,tikz
usando o comando tikzstyle{}
,usepackage{amsfonts, amsmath, amssymb}
.body
:begin{tikzpicture} end{tikzpicture}
para começar a desenhar,node
para definir nós e caixas de texto na rede bayesiana,path
para definir setas na rede Bayesiana,plate
para definir placas na rede bayesiana.Clique na imagem e confira o código fonte.
Este exemplo é do seguinte artigo:
que mostra a rede Bayesiana do modelo de fatoração Bayesiana Gaussiana CP (BGCP). Para desenhar este exemplo de rede Bayesiana, existem algumas preliminares a seguir:Xinyu Chen, Zhaocheng He, Lijun Sun (2019). Uma abordagem de decomposição tensorial bayesiana para imputação de dados de tráfego espaço-temporal. Pesquisa em Transporte Parte C: Tecnologias Emergentes, 98: 73-84.
preamble
:documentclass
como standalone
, por exemplo, documentclass[border = 0.1cm]{standalone}
com borda de 0,1cm,tikz
, ou seja, usepackage{tikz}
, e use a biblioteca tikz
como usetikzlibrary{bayesnet}
que é uma ferramenta importante para desenhar redes Bayesianas e gráficos de fatores direcionados,tikz
usando o comando tikzstyle{}
,usepackage{amsmath, amsfonts, amssymb}
.body
:begin{tikzpicture} end{tikzpicture}
para começar a desenhar,node
para definir nós e caixas de texto na rede bayesiana,path
para definir setas na rede Bayesiana,plate
para definir placas na rede bayesiana.Clique na imagem e confira o código fonte. Se você estiver interessado na rede bayesiana original do BGCP no artigo, verifique BGCP.tex.
Este exemplo é do seguinte artigo:
que mostra a rede bayesiana do modelo de fatoração de tensor aumentado bayesiano (BATF). Para desenhar este exemplo de rede Bayesiana, existem algumas preliminares a seguir:Xinyu Chen, Zhaocheng He, Yixian Chen, Yuhuan Lu, Jiawei Wang (2019). Imputação de dados de tráfego ausentes e descoberta de padrões com um modelo bayesiano de fatoração de tensor aumentado. Pesquisa em Transporte Parte C: Tecnologias Emergentes, 104: 66-77.
preamble
:documentclass
como standalone
, por exemplo, documentclass[border = 0.1cm]{standalone}
com borda de 0,1cm,tikz
, ou seja, usepackage{tikz}
, e use a biblioteca tikz
como usetikzlibrary{bayesnet}
que é uma ferramenta importante para desenhar redes Bayesianas e gráficos de fatores direcionados,tikz
usando o comando tikzstyle{}
,usepackage{amsmath, amsfonts, amssymb}
.body
:begin{tikzpicture} end{tikzpicture}
para começar a desenhar,node
para definir nós e caixas de texto na rede bayesiana,path
para definir setas na rede Bayesiana,plate
para definir placas na rede bayesiana.Clique na imagem e confira o código fonte.
Este exemplo é do seguinte artigo:
que mostra a rede bayesiana do modelo de fatoração de matriz temporal bayesiana (BTMF). Para desenhar este exemplo de rede Bayesiana, existem algumas preliminares a seguir:Xinyu Chen, Lijun Sun (2021). Fatoração temporal bayesiana para previsão de séries temporais multidimensionais. Transações IEEE sobre Análise de Padrões e Inteligência de Máquina, 44 (9): 4659-4673.
preamble
:documentclass
como standalone
, por exemplo, documentclass[border = 0.1cm]{standalone}
com borda de 0,1cm,tikz
, ou seja, usepackage{tikz}
, e use a biblioteca tikz
como usetikzlibrary{bayesnet}
que é uma ferramenta importante para desenhar redes Bayesianas e gráficos de fatores direcionados,tikz
usando o comando tikzstyle{}
,usepackage{amsmath, amsfonts, amssymb}
.body
:begin{tikzpicture} end{tikzpicture}
para começar a desenhar,node
para definir nós e caixas de texto na rede bayesiana,path
para definir setas na rede Bayesiana,plate
para definir placas na rede bayesiana.Clique na imagem e confira o código fonte. Em vez do processo autoregressivo vetorial multivariado em fatores temporais, também podemos usar o processo autoregressivo univariado para reconstruir o BTMF. A rede Beyasian está disponível em btmf_net.png, você também pode conferir o código fonte btmf_net.tex.
Esses dois exemplos mostram a matriz e o tensor da série temporal parcialmente observados, respectivamente. Para desenhar os dois exemplos, podemos seguir estas etapas:
códigos de preamble
:
documentclass
como standalone
,tikz
. códigos body
:
begin{tikzpicture} end{tikzpicture}
para começar a desenhar,node
para definir nós e caixas de texto no modelo gráfico,path
para definir setas no modelo gráfico. Esses dois exemplos mostram a previsão da série temporal na presença de valores ausentes. Para desenhar os dois exemplos, podemos seguir estas etapas:
códigos de preamble
:
documentclass
como standalone
,tikz
. códigos body
:
begin{tikzpicture} end{tikzpicture}
para começar a desenhar,node
para definir nós e caixas de texto no modelo gráfico,path
para definir setas no modelo gráfico. Esses dois exemplos mostram os gráficos não direcionados e circulantes nas amostras de dados relacionais com certos graus. Para desenhar os dois exemplos, podemos seguir estas etapas:
códigos de preamble
:
documentclass
como standalone
,tikz
. códigos body
:
begin{tikzpicture} end{tikzpicture}
para começar a desenhar,node
para definir nós,path
para definir setas. Este exemplo é do seguinte artigo:
Xinyu Chen, Zhanhong Cheng, Nicolas Saunier, Lijun Sun (2022). Representação convolucional laplaciana para imputação de séries temporais de tráfego. pré-impressão arXiv arXiv: 2212.01529.
que fornece uma ilustração gráfica do modelo convolucional Laplaciano para imputação de séries temporais. Para desenhar o exemplo, podemos seguir estes passos:
preamble
:documentclass
como standalone
,tikz
.body
:begin{tikzpicture} end{tikzpicture}
para começar a desenhar,begin{axis} end{axis}
e addplot
para desenhar coordenadas,node
e path
para desenhar nós e setas.pgfplots
Esses dois exemplos mostram a função de densidade de probabilidade (PDF) e a função de densidade cumulativa (CDF) da distribuição Erlang, respectivamente. Para desenhar o exemplo, existem alguns passos a seguir:
preamble
:documentclass
como standalone
,pgfplots
,pgfplotsset{}
como preferir.body
:begin{tikzpicture} end{tikzpicture}
para começar a desenhar,begin{axis} end{axis}
para desenhar a função,addplot
para definir a função de desenho. Este exemplo mostra a PDF de distribuição normal com diferentes médias e variâncias. Para desenhar este exemplo, há algumas etapas a seguir:
preamble
:documentclass
como standalone
,pgfplots
,pgfplotsset{}
como preferir.body
:pgfmathdeclarefunction
para definir a função PDF de distribuição normal (Gaussiana),begin{tikzpicture} end{tikzpicture}
para começar a desenhar,begin{axis} end{axis}
para desenhar a função,addplot
para definir a função de desenho.Esses dois exemplos mostram o PDF e o PDF conjunto de distribuições Lognormais, respectivamente. Existem alguns materiais recomendados para seguir os exemplos:
Estes dois exemplos mostram o processo iterativo de gradiente conjugado para resolver um sistema de equações lineares.
Esses dois exemplos mostram os padrões ausentes aleatórios e não aleatórios. Para desenhar os dois exemplos, podemos seguir estas etapas:
preamble
:documentclass
como standalone
,tikz
e pgfplots
,begin{filecontents} end{filecontents}
para conter os dados.body
:begin{tikzpicture} end{tikzpicture}
para começar a desenhar,begin{axis} end{axis}
para desenhar a função,addplot
para desenhar os dados. Este exemplo mostra quatro sequências que consistem em funções Seno e Cosseno. Ao considerar essas sequências como séries temporais, podemos ver dois tipos de dinâmica temporal, ou seja, uma é da função Seno, enquanto a outra é da função Cosseno. Para desenhar este exemplo, podemos seguir estes passos:
preamble
:documentclass
como standalone
,pgfplots
,pgfplotsset{}
como preferir.body
:pgfmathdeclarefunction
para definir a função PDF de distribuição normal (Gaussiana),begin{tikzpicture} end{tikzpicture}
para começar a desenhar,begin{axis} end{axis}
para desenhar a função,addplot
para definir a função de desenho. Este exemplo ilustra o mecanismo de previsão de série temporal em dados de streaming em nosso projeto tracebase. Para desenhar este exemplo, podemos seguir estes passos:
preamble
:documentclass
como standalone
,tikz
e pgfplots
,pgfplotsset{}
como preferir.body
:begin{tikzpicture} end{tikzpicture}
para começar a desenhar,begin{axis} end{axis}
para definir o gráfico,addplot
para definir as marcas em algumas coordenadas e especificar a cor dessas marcas.tikz
para estrutura matricial Este exemplo fornece uma ilustração gráfica do problema de previsão de séries temporais multivariadas com valores ausentes. Para desenhar este exemplo, podemos seguir estes passos:
preamble
:documentclass
como standalone
,tikz
.body
:Depth
, Width
e Height
usando newcommand
,begin{tikzpicture} end{tikzpicture}
para começar a desenhar,draw
, filldraw
e node
para definir retângulos e nós. Este exemplo fornece uma ilustração gráfica da fatoração da matriz temporal. Para desenhar este exemplo, podemos seguir estes passos:
preamble
:documentclass
como standalone
,tikz
.body
:begin{tikzpicture} end{tikzpicture}
para começar a desenhar,draw
e filldraw
para definir nós e retângulos. Este exemplo fornece uma ilustração gráfica da previsão de série temporal contínua com fatoração de matriz temporal. Para desenhar este exemplo, podemos seguir estes passos:
preamble
:documentclass
como standalone
,tikz
.body
:begin{tikzpicture} end{tikzpicture}
para começar a desenhar,draw
e filldraw
para definir nós e retângulos.tikz-3dplot
para estrutura tensorial Este exemplo fornece uma ilustração gráfica de um tensor de terceira ordem. Para desenhar este exemplo, podemos seguir estes passos:
preamble
:documentclass
como standalone
,tikz
e tikz-3dplot
.body
:Depth
, Width
e Height
usando newcommand
,begin{tikzpicture} end{tikzpicture}
para começar a desenhar,draw
para definir nós. Este exemplo fornece uma ilustração gráfica da fatoração clássica do tensor CP em um tensor de terceira ordem. Para desenhar este exemplo, podemos seguir estes passos:
preamble
:documentclass
como standalone
,tikz
e tikz-3dplot
.body
:Depth
, Width
e Height
usando newcommand
,begin{tikzpicture} end{tikzpicture}
para começar a desenhar,draw
para definir nós. Este exemplo fornece uma ilustração gráfica do modelo de fatoração de tensor aumentado. Para desenhar este exemplo, podemos seguir estes passos:
preamble
:documentclass
como standalone
,tikz
e tikz-3dplot
.body
:Depth
, Width
e Height
usando newcommand
,begin{tikzpicture} end{tikzpicture}
para começar a desenhar,draw
para definir nós. Este exemplo fornece uma ilustração gráfica da tarefa de conclusão do tensor e sua estrutura, incluindo organização de dados e conclusão do tensor, na qual as medições de tráfego são parcialmente observadas. Para desenhar este exemplo, podemos seguir estes passos:
preamble
:documentclass
como standalone
,tikz
e tikz-3dplot
.body
:Depth
, Width
e Height
usando newcommand
,begin{tikzpicture} end{tikzpicture}
para começar a desenhar,draw
para definir nós. Este exemplo fornece uma ilustração gráfica do modelo de conclusão de tensor autoregressivo de baixa classificação. Para desenhar este exemplo, podemos seguir estes passos:
preamble
:documentclass
como standalone
,tikz
e tikz-3dplot
.body
:Depth
, Width
e Height
usando newcommand
,begin{tikzpicture} end{tikzpicture}
para começar a desenhar,node
, path
, plate
para definir nós, setas e placas,draw
para definir nós. Este exemplo fornece uma ilustração gráfica do processo de limite de valor singular dos dados do tensor com transformação unitária. Para desenhar este exemplo, podemos seguir estes passos:
preamble
:documentclass
como standalone
,tikz
e tikz-3dplot
.body
:Depth
, Width
e Height
usando newcommand
,begin{tikzpicture} end{tikzpicture}
para começar a desenhar,node
para definir nós,draw
para definir nós,filldraw
para definir as cores dos retângulos. Este exemplo fornece uma ilustração gráfica do modelo de conclusão de tensor de baixa classificação. Para desenhar este exemplo, podemos seguir estes passos:
preamble
:documentclass
como standalone
,tikz
e tikz-3dplot
,algorithm2e
,usetikzlibrary{positioning, matrix, fit, calc}
.body
:begin{algorithm} end{algorithm}
para definir o algoritmo,matrix
para posicionar os componentes,begin{scope} end{scope}
para conter as camadas. Este exemplo fornece uma ilustração gráfica do modelo de regressão de tensor de baixo escalão. Para desenhar este exemplo, podemos seguir estes passos:
preamble
:documentclass
como standalone
,tikz
e tikz-3dplot
.body
:Depth
, Width
e Height
usando newcommand
,begin{tikzpicture} end{tikzpicture}
para começar a desenhar,draw
para definir nós.Este exemplo mostra a precisão da imputação de alguns modelos de matrizes e tensores. Para desenhar este exemplo, podemos seguir estes passos:
preamble
:documentclass
como standalone
,tikz
.body
:begin{tikzpicture} end{tikzpicture}
para começar a desenhar,draw
para definir nós,pgfuseimage
para importar imagens. A maioria desses exemplos vem de nossos artigos:
Xinyu Chen, Zhanhong Cheng, HanQin Cai, Nicolas Saunier, Lijun Sun (2024). Representação convolucional laplaciana para imputação de séries temporais de tráfego . Transações IEEE sobre Engenharia de Conhecimento e Dados, 36 (11): 6490-6502. [Pré-impressão] [DOI] [Slides] [Dados e código Python]
Xinyu Chen, Lijun Sun (2022). Fatoração temporal bayesiana para previsão de séries temporais multidimensionais . Transações IEEE em Análise de Padrões e Inteligência de Máquina, 44 (9): 4659-4673. [Pré-impressão] [DOI] [Slides] [Dados e código Python]
Xinyu Chen, Mengying Lei, Nicolas Saunier, Lijun Sun (2022). "Completamento de tensor autoregressivo de baixa classificação para imputação de dados de tráfego espaço-temporal" . Transações IEEE em Sistemas de Transporte Inteligentes, 23 (8): 12301-12310. [Pré-impressão] [DOI] [Dados e código Python] (Também aceito em parte no Workshop MiLeTS do KDD 2021, consulte o documento do workshop)
Xinyu Chen, Yixian Chen, Nicolas Saunier, Lijun Sun (2021). "Aprendizagem escalável de tensor de baixa classificação para imputação de dados de tráfego espaço-temporal" . Pesquisa de Transporte Parte C: Emerging Technologies, 129: 103226. [Pré-impressão] [DOI] [Dados] [código Python]
Xinyu Chen, Lijun Sun (2020). "Completamento de tensor autoregressivo de baixa classificação para previsão multivariada de séries temporais" . Pré-impressão do arXiv arXiv: 2006.10436. [Pré-impressão] [Dados e código Python]
Xinyu Chen, Jinming Yang, Lijun Sun (2020). Um modelo de conclusão de tensor não convexo de baixa classificação para imputação de dados de tráfego espaço-temporal . Transportation Research Parte C: Emerging Technologies, 117: 102673. [Pré-impressão] [DOI] [Dados e código Python]
Xinyu Chen, Zhaocheng He, Yixian Chen, Yuhuan Lu, Jiawei Wang (2019). "Imputação de dados de tráfego ausentes e descoberta de padrões com um modelo bayesiano de fatoração de tensor aumentado" . Pesquisa em Transporte Parte C: Tecnologias Emergentes, 104: 66-77. [DOI] [Slides] [Dados] [Código Matlab] [Código Python]
Xinyu Chen, Zhaocheng He, Lijun Sun (2019). Uma abordagem de decomposição de tensores bayesianos para imputação de dados de tráfego espaço-temporal . Pesquisa em Transporte Parte C: Tecnologias Emergentes, 98: 73-84. [Pré-impressão] [DOI] [Dados] [Código Matlab] [Código Python]