Ich versuche, einen gerichteten Graphen zu zeichnen, bei dem jeder Scheitelpunkt und jeder Pfeil einzeln mit einer bestimmten Farbe eingefärbt werden kann. Ich habe einen Code, dermeistensWerke:
\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}
Das Problem besteht darin, dass es beim Kompilieren (mit Overleaf) fast das erzeugt, was ich will, außer dass zusätzlich die Namen der Farben der Knoten (Scheitelpunkte) über den Knoten gedruckt werden:
Was mache ich falsch, das dieses Ergebnis hervorruft? Wie kann ich die Farbnamen entfernen? Vielen Dank fürs Lesen!
Zur Erklärung der Dekorationseinstellungen: Ich möchte, dass die Kanten in der Mitte eine Pfeilspitze haben (wie im Bild), und ich möchte auch eine schwarze Umrandung an den Knoten (Scheitelpunkten), was ich auch in diesem Abschnitt zu schreiben versucht habe.
Antwort1
Wie @SandyG bereits in einem Kommentar sagte, verwenden Sie den Farbnamen zweimal, Bullet/.style
einmal als fill=#1
und das zweite Mal als label=#1
. Das fill=#1
legt die Füllfarbe fest. Das label=#1
gibt den Farbnamen als Beschriftung aus. Das Entfernen des label=#1
löst also Ihr Problem:
\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}