在 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一次 asfill=#1和第二次 as中使用了兩次顏色名稱label=#1。設定fill=#1填滿顏色。輸出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}

在此輸入影像描述

相關內容