Ошибка с названием цвета, появляющимся при раскрашивании узла в TikZ

Ошибка с названием цвета, появляющимся при раскрашивании узла в TikZ

Я пытаюсь нарисовать направленный граф, где каждая вершина и каждая стрелка могут быть окрашены индивидуально определенным цветом. У меня есть код, которыйпо большей частиработает:

\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}

Проблема в том, что при компиляции (с использованием Overleaf) он выдает почти то, что мне нужно, за исключением того, что поверх узлов печатаются названия цветов узлов (вершин):

Изображение

Что я делаю не так, что приводит к такому результату? Как мне удалить названия цветов? Спасибо за прочтение!


Для пояснения настроек декора я хочу, чтобы края имели наконечник стрелы посередине (как на изображении), а также хочу черный контур на узлах (вершинах), что я и попытался описать в этом разделе.

решение1

Как уже сказал @SandyG в комментарии, вы используете имя цвета дважды в вашем Bullet/.styleодин раз как fill=#1и второй как label=#1. The fill=#1задает цвет заливки. The label=#1выводит имя цвета как метку. Таким образом, удаление label=#1, решает вашу проблему:

\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}

введите описание изображения здесь

Связанный контент