Saltar al contenido

¿Cómo dibujar gráficos en LaTeX?

Esta es el arreglo más completa que encomtrarás aportar, sin embargo mírala detenidamente y valora si se puede adaptar a tu proyecto.

Solución:

Creo que el mejor enfoque es usar el tkz-berge de Altermundus. También puede encontrar una guía completa aquí.

Sin embargo, para hacer un ejemplo simple simplemente usando TikZpuede seguir este enfoque:

documentclass article

% example taken from 
% http://www.guitex.org/home/images/doc/GuideGuIT/introingtikz.pdf

usepackage tikz
usetikzlibrary positioning
%usepackage xcolor
definecolor processbluecmyk0.96,0,0,0
begin document
begin center
begin tikzpicture[-latex ,auto ,node distance =4 cm and 5cm ,on grid ,
semithick ,
state/.style = circle ,top color =white , bottom color = processblue!20 ,
draw,processblue , text=blue , minimum width =1 cm]
node[state] (C)
$1$;
node[state] (A) [above left=of C] $0$;
node[state] (B) [above right =of C] $2$;
path (A) edge [loop left] node[left] $1/4$ (A);
path (C) edge [bend left =25] node[below =0.15 cm] $1/2$ (A);
path (A) edge [bend right = -15] node[below =0.15 cm] $1/2$ (C);
path (A) edge [bend left =25] node[above] $1/4$ (B);
path (B) edge [bend left =15] node[below =0.15 cm] $1/2$ (A);
path (C) edge [bend left =15] node[below =0.15 cm] $1/2$ (B);
path (B) edge [bend right = -25] node[below =0.15 cm] $1/2$ (C);
endtikzpicture
endcenter
enddocument

lo que lleva a:

ingrese la descripción de la imagen aquí

Es un ejemplo de una Cadena de Markov en la que varios TikZ se utilizan las opciones. En la misma guía, encontrará un ejemplo en el que los nodos se colocan en una matriz.

Puede usar el paquete tkz-berge. Este paquete usa TikZ, es posible agregar todos los comandos de TikZ.

Aquí las tres formas clásicas del gráfico de Petersen

documentclass[11pt]scrartcl
usepackagetkz-berge


begindocument
begintikzpicture[scale=.5] 
GraphInit[vstyle=Art] 
SetGraphArtColorredolive 
grPetersen[form=1,RA=5,RB=3]%
endtikzpicture
begintikzpicture[scale=.4]
   GraphInit[vstyle=Art] 
   SetGraphArtColorredolive 
   grPetersen[form=2,RA=7,RB=3]%
endtikzpicture

begintikzpicture[scale=.5]
   GraphInit[vstyle=Art] 
   SetGraphArtColorredolive 
   grPetersen[form=3,RA=7]%
endtikzpicture
enddocument

ingrese la descripción de la imagen aquí

Escribí un documento con algunos gráficos clásicos con nombre. Está dentro de tu distribución (>2011 creo)

texdoc NamedGraphsen la terminal

Agregué las fuentes y todos los ejemplos, también puedes encontrarlos aquí.

Gráficos con nombre

Aquí un ejemplo para dibujar el gráfico de Petersen solo con TikZ. Trato de estructurar correctamente el código. El primer ámbito se utiliza para los vértices y el segundo para los bordes. El único problema es obtener los bordes con `mod“

       pgfmathtruncatemacronextbmod(i+1,5)
       pgfmathtruncatemacronextamod(i+2,5) 

el codigo completo

  documentclass[border=6pt]standalone
  usepackagetikz

  begindocument

  begintikzpicture 
    beginscope [vertex style/.style=draw,
                                       circle,
                                       minimum size=6mm,
                                       inner sep=0pt,
                                       outer sep=0pt,
                                       shade] 
      path foreach i in 0,...,4%
       (72*i:2) coordinate[vertex style] (ai)
       (72*i:4) coordinate[vertex style] (bi)
       ; 
    endscope

     beginscope [edge style/.style=draw=gray,double=white]
       foreach i  in 0,...,4%
       pgfmathtruncatemacronextbmod(i+1,5)
       pgfmathtruncatemacronextamod(i+2,5) 
       draw[edge style] (ai)--(bi);
       draw[edge style] (ai)--(anexta);
       draw[edge style] (bi)--(bnextb);
         
     endscope

  endtikzpicture
  enddocument 

ingrese la descripción de la imagen aquí

Agradecemos que quieras confirmar nuestro trabajo dejando un comentario y puntuándolo te estamos agradecidos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *