如何改变线条部分的颜色?

如何改变线条部分的颜色?
\documentclass[tikz]{standalone}

\begin{document}    
    \begin{tikzpicture}
    \draw[->] (0,0) -- (25:8cm) ;
    \end{tikzpicture}  
\end{document}

获得一条 8 厘米长的黑线(从第 5 厘米到第 7 厘米涂成绿色)的正确代码是什么?

答案1

您可以postaction为此使用dash pattern

\documentclass[tikz]{standalone}

\begin{document}    
    \begin{tikzpicture}
    \draw[->,postaction={-,draw=green,dash pattern=on 0pt off 5cm on 2cm off 2cm}] (0,0) -- (25:8cm) ;
    \end{tikzpicture}  
\end{document}

在此处输入图片描述

编辑:一个稍微干净一些的版本(因为没有线条被透支,如果不透明度不重要的话就会有所不同)被投射到一种风格中。

\documentclass[tikz,border=3.14mm]{standalone}
\begin{document}    
\begin{tikzpicture}[replace stretch/.style args={from #1 to #2 by #3}{%
/utils/exec=\pgfmathsetmacro{\offlen}{#2-#1},
dash pattern=on #1 off \offlen pt on 10cm,
postaction={#3,dash pattern=on 0pt off #1 on \offlen pt off 10cm}}]
 \draw[->,replace stretch={from 5cm to 7cm by {-,draw=green}}] (0,0) -- ++(25:8cm);
 \draw[->,replace stretch={from 5cm to 7cm by {-,draw=white}}] (0,1) -- ++(25:8cm) ;
 \draw[->,replace stretch={from 5cm to 7cm by {-,draw=none}}] (0,2) -- ++(25:8cm) ;
\end{tikzpicture}  
\end{document}

在此处输入图片描述

相关内容