更改 TikZ 路径的各个边或箭头的颜色

更改 TikZ 路径的各个边或箭头的颜色

如何单独更改边缘的颜色?我尝试了,to但它忽略了颜色变化。另外,我希望出现箭头,比如说,如何纠正下一行以便得到一个四色正方形?(应该保留“向量加法”的精神。也就是说,我想在单个draw或内生成一条长路径path,因此只;应出现一条。)

我也尝试使用“边缘”——也没有成功。

\documentclass[ border=2pt]{standalone}
\usepackage{tikz}

\begin{document}%


\begin{tikzpicture}

\draw (0,0) to[-latex,blue] ++(0,1)
                  to[-latex,red] ++(1,0)
                  to[-latex,yellow] ++(0,-1)
                  to[-latex,green] ++(-1,0) -- cycle;

\begin{scope}[xshift=1.5cm]
\path (0,0) to[-latex,gray] ++(0,1)
                  to[-latex,gray] ++(1,0)
                  to[-latex,gray] ++(0,-1)
                  to[-latex,gray] ++(-1,0) -- cycle;
                  \end{scope}

\end{tikzpicture}

\end{document}

答案1

Z、颜色和箭头对于路径来说是全局的。您需要使用不同的路径来获得不同的颜色或箭头(或线条样式,如虚线)。您可以使用分号edge来避免使用分号,但这会创建不同的路径。请参阅https://tikz.dev/tikz-actions#sec-15.1

使用边时,您应该记住该操作才不是影响主路径,但会创建另一条路径;具体来说,它不会移动当前点;在您的情况下,您想要移动它,因此您必须使用两次移动(一次指定端点edge,另一次将路径移动到那里):

\documentclass[ border=2pt]{standalone}
\usepackage{tikz}
\tikzset{cedge/.style={draw=#1,
    -latex}
}
\begin{document}%
\begin{tikzpicture}
    \path (0,0) edge[cedge=blue] ++(0,1) ++(0,1)
        edge[cedge=red] ++(1,0) ++(1,0)
        edge[cedge=yellow] ++(0,-1) ++(0,-1)
        edge[cedge=green] ++(-1,0) ++(-1,0) -- cycle;
    \begin{scope}[xshift=1.5cm]
        \path (0,0) edge[cedge=gray] ++(0,1) ++(0,1)
            edge[cedge=gray] ++(1,0) ++(1,0)
            edge[cedge=gray] ++(0,-1) ++(0,-1)
            edge[cedge=gray] ++(-1,0) ++(-1,0) -- cycle;
    \end{scope}
\end{tikzpicture}
\end{document}

在此处输入图片描述

如果您通过绘制更改第一个\path并绘制“基本”路径,则可以通过查看角落来了解命令实际执行的操作:

\draw (0,0) edge[cedge=blue] ++(0,1) -- ++(0,1)
        edge[cedge=red] ++(1,0) -- ++(1,0)
        edge[cedge=yellow] ++(0,-1) -- ++(0,-1)
        edge[cedge=green] ++(-1,0) -- ++(-1,0) -- cycle;

在此处输入图片描述

相关内容