我正在嘗試繪製一個有向圖,其中每個頂點和每個箭頭都可以用特定顏色單獨著色。我有一個代碼大多作品:
\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}