如何用 tikz 绘制双色线

如何用 tikz 绘制双色线

我想绘制一个带双色边框的矩形:边框应为一条虚线,并带有两种交替的颜色(例如蓝色和红色)。可以吗?

答案1

正如 Martin 的评论中提到的,诀窍是画两次线。Tikz/PGF 中路径的限制之一是颜色对于路径是全局的。

除了绘制一条由虚线覆盖的实线外,您还可以绘制两条虚线,虚线之间有空格,如下例所示(您可以在 Tikz 手册中找到更多信息):

\begin{tikzpicture}

\draw[blue,dash pattern= on 3pt off 5pt] (0,0) |- (1,1) to[out=0,in=90] (2,0);
\draw[red,dash pattern= on 3pt off 5pt,dash phase=4pt] (0,0) |- (1,1) to[out=0,in=90] (2,0);

\end{tikzpicture}

结果是

双色虚线

(根据 Caramdir 的评论): 使用后操作可以实现相同的结果,并且只需指定一次路径:

\draw[postaction={draw,red,dash pattern= on 3pt off 5pt,dash phase=4pt,thick}]
[blue,dash pattern= on 3pt off 5pt,thick] (0,0) |- (1,1) to[out=0,in=90] (2,0);

(根据对矩形的请求)* 我不确定这是否回答了评论中的问题 *

对于矩形,您可以输入命令

\draw[postaction={draw,red,dash pattern= on 3pt off 5pt,dash phase=4pt,thick}]
    [blue,dash pattern= on 3pt off 5pt,thick] (0,0) rectangle (3,2);

此矩形没有圆角,它是一个“普通”矩形。如果您确实想要圆角,请添加rounded corners到选项中:

\draw[postaction={draw,red,dash pattern= on 3pt off 5pt,dash phase=4pt,thick,rounded corners}]
    [blue,dash pattern= on 3pt off 5pt,thick,rounded corners] (0,0) rectangle (3,2);

答案2

如果您希望在节点周围有双色边框,可以这样做:

\documentclass{standalone}

\usepackage{tikz}


\begin{document}
    \begin{tikzpicture}
        \node[circle,draw=blue,dash pattern= on 3pt off 5pt,thick,postaction={draw,red,dash pattern= on 3pt off 5pt,dash phase=4pt,thick}] at (0,0) {TEST};
    \end{tikzpicture}
\end{document}

双色环预览

相关内容