Estou tentando desenhar um gráfico direcionado onde cada vértice e cada seta podem ser coloridos individualmente por uma cor específica. Eu tenho um código quemajoritariamentefunciona:
\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}
O problema é que quando compilado (usando Overleaf) ele produz quase o que eu quero, exceto por imprimir também os nomes das cores dos nós (vértices) em cima dos nós:
O que estou fazendo de errado que produz esse resultado? Como posso remover os nomes das cores? Obrigado por ler!
Para uma explicação das configurações de decoração, quero que as bordas tenham uma ponta de seta no meio (como na imagem), e também quero um contorno preto nos nós (vértices), que é o que tentei escrever nesta seção como bem.
Responder1
Como @SandyG já disse em um comentário, você está usando o nome da cor duas vezes na sua Bullet/.style
vez como fill=#1
e na segunda como label=#1
. O fill=#1
define a cor de preenchimento. O label=#1
resultado é o nome da cor como rótulo. Portanto, remover o label=#1
, resolve seu 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}