Saltar al contenido

Diagrama de Venn de 4 conjuntos en TikZ

No olvides que en la informática cualquier problema casi siempere suele tener varias resoluciones, de igual modo aquí mostraremos lo más óptimo y eficiente.

Solución:

Resultado

documentclassarticle
usepackagetikz
usetikzlibrarypositioning,shapes.geometric
begindocument
tikzset
  set/.style = 
    ellipse, 
    minimum width=3.5cm, 
    minimum height=2cm,
    draw,

begintikzpicture
foreach x/y/a in .7/0/60,.3/1/60,-.7/0/-60,-.3/1/-60 
  node[set, rotate=a] at (x,y) ;
endtikzpicture
enddocument

Hay algunos diagramas de Venn con múltiples elementos coloreados en este ejemplo: http://www.texample.net/tikz/examples/venn-diagram/

Tomé los principios utilizados allí y creé una versión con las cuatro “esquinas” llenas, según lo solicitado (utilicé amarillo para distinguirlo del código original que tenía una esquina de color rojo).

Venn con esquinas coloreadas

documentclass[12pt]article

usepackagetikz usetikzlibrarypositioning,shapes.geometric

% For drawing
deffirstellip(1.6, 0) ellipse [x radius=3cm, y radius=1.5cm, rotate=50]
defsecondellip(0.3, 1cm) ellipse [x radius=3cm, y radius=1.5cm,
rotate=50] defthirdellip(-1.6, 0) ellipse [x radius=3cm, y radius=1.5cm,
rotate=-50] deffourthellip(-0.3, 1cm) ellipse [x radius=3cm, y
radius=1.5cm, rotate=-50] defbounding(-5,-3) rectangle (5,4)

begindocument

begintikzpicture filldraw[fill=black, opacity=0.2] bounding;

    scope fill[white] fourthellip; endscope filldraw[fill=red,
    opacity=0.2] fourthellip;

    %single colors
    scope fill[white] secondellip; fill[white] thirdellip; fill[white]
    firstellip; endscope

    draw firstellip node [label=[xshift=2.0cm, yshift=-0.9cm]$A$] ;
    draw secondellip node [label=[xshift=2.2cm, yshift=2.1cm]$B$] ;
    draw thirdellip node [label=[xshift=-2.0cm, yshift=-0.9cm]$C$] ;
    draw fourthellip node [label=[xshift=-2.2cm, yshift=2.1cm]$D$] ;
    draw bounding node [label=above left:$U$] ;

    beginscope
        beginscope[even odd rule]% first ellipse corner
            clip secondellip (-5,-5) rectangle (5,5);
            clip thirdellip (-5,-5) rectangle (5,5);
            clip fourthellip (-5,-5) rectangle (5,5);
        fill[yellow] firstellip;
        endscope
    endscope
    
    beginscope
        beginscope[even odd rule]% second ellipse corner
            clip firstellip (-5,-5) rectangle (5,5);
            clip thirdellip (-5,-5) rectangle (5,5);
            clip fourthellip (-5,-5) rectangle (5,5);
        fill[yellow] secondellip;
        endscope
    endscope
    
    beginscope
        beginscope[even odd rule]% third ellipse corner
            clip secondellip (-5,-5) rectangle (5,5);
            clip firstellip (-5,-5) rectangle (5,5);
            clip fourthellip (-5,-5) rectangle (5,5);
        fill[yellow] thirdellip;
        endscope
    endscope
    

endtikzpicture  enddocument

El truco consiste en agregar un rectángulo grande que abarque todo y luego usar la regla de relleno par-impar; consulte la página de ejemplo para obtener más detalles.

(Por cierto, utilicé Overleaf (anteriormente WriteLaTeX) para probar el código; el documento se puede encontrar aquí: https://www.overleaf.com/latex/examples/example-venn-diagram-with-isolated-areas-filled/ xjptmqsjfdlc)

Comentarios y calificaciones del artículo

Al final de la página puedes encontrar las críticas de otros administradores, tú además tienes el poder dejar el tuyo si te gusta.

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



Utiliza Nuestro Buscador

Deja una respuesta

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