Estoy intentando dibujar un gráfico dirigido donde cada vértice y cada flecha se puedan colorear individualmente con un color específico. tengo un codigo queprincipalmenteobras:
\documentclass{article}
\usepackage[dvipsnames]{xcolor}
\usepackage{tikz}
\usetikzlibrary{arrows}
\usetikzlibrary{arrows.meta,decorations.markings}
\begin{document}
\begin{tikzpicture}[
decoration = {markings,mark=at position .5 with {\arrow{Stealth[length=2mm]}}},
Bullet/.style = {circle, fill=#1,label=#1,draw=black!80, line width=0.2mm,
inner sep=2.4pt, node contents={},},
every edge/.style = {draw, postaction=decorate}
]
%
\node (a) at (0,2) [Bullet=red, label=below left:$a$];
\node (b) at (2,4) [Bullet=MidnightBlue, label=above:$b$];
%
\path
(a) edge [Plum] (b) ;
\end{tikzpicture}
\end{document}
El problema es que cuando se compila (usando Overleaf) produce casi lo que quiero, excepto por imprimir también los nombres de los colores de los nodos (vértices) encima de los nodos:
¿Qué estoy haciendo mal que produce este resultado? ¿Cómo puedo eliminar los nombres de los colores? ¡Gracias por leer!
Para una explicación de los ajustes de decoración, quiero que los bordes tengan una punta de flecha en el medio (como en la imagen), y también quiero un contorno negro en los nodos (vértices), que es lo que intenté escribir en esta sección como Bueno.
Respuesta1
Como ya dijo @SandyG en un comentario, estás usando el nombre del color dos veces en tu Bullet/.style
una vez y en fill=#1
tu segunda como label=#1
. Establece fill=#1
el color de relleno. Muestra label=#1
el nombre del color como etiqueta. Entonces, eliminar el label=#1
soluciona su problema:
\documentclass{article}
\usepackage[dvipsnames]{xcolor}
\usepackage{tikz}
\usetikzlibrary{arrows}
\usetikzlibrary{arrows.meta,decorations.markings}
\begin{document}
\begin{tikzpicture}[
decoration = {markings,mark=at position .5 with {\arrow{Stealth[length=2mm]}}},
Bullet/.style = {circle, fill=#1,draw=black!80, line width=0.2mm,
inner sep=2.4pt, node contents={},},
every edge/.style = {draw, postaction=decorate}
]
%
\node (a) at (0,2) [Bullet=red, label=below left:$a$];
\node (b) at (2,4) [Bullet=MidnightBlue, label=above:$b$];
%
\path
(a) edge [Plum] (b) ;
\end{tikzpicture}
\end{document}