![在 tikz 中绘制线条并改变颜色](https://linux22.com/image/436609/%E5%9C%A8%20tikz%20%E4%B8%AD%E7%BB%98%E5%88%B6%E7%BA%BF%E6%9D%A1%E5%B9%B6%E6%94%B9%E5%8F%98%E9%A2%9C%E8%89%B2.png)
我有以下使用线条\draw
(见下面的 MWE)。我想让线条的颜色发生变化,从右侧的红色变为左侧的蓝色。目前的尝试是添加淡入淡出区域,而不是更改线条本身的颜色。
注意此解决方案percusse 提供了一种解决方案,使用自定义淡入淡出,但我不知道如何编辑它以获得我想要的效果。我理想情况下希望添加一个编辑来\draw[...]
实现此效果。
平均能量损失
\documentclass[tikz]{standalone}
\begin{document}
\begin{tikzpicture}
\draw [ultra thick,red] (-19.5,-16) to[out=55,in=228] (-14,-9) to [out=45,in=180] (0,-2) to[out=0,in=135] (14, -9) to[out=315,in=125] (20,-16);
\end{tikzpicture}
\end{document}
答案1
如果你想要阴影,我有一个(肮脏的)但快速的解决方案。使用shade
并在前面添加一个填充的白色版本:
\documentclass[tikz,border=1cm]{standalone}
\pgfdeclarelayer{background}
\pgfdeclarelayer{foreground}
\pgfsetlayers{background,main,foreground}
\begin{document}
\begin{tikzpicture}
\fill[fill=white] (-19.35,-16.01) to[out=55,in=228] (-13.8,-9) to [out=45,in=180] (0,-2.15) to[out=0,in=135] (13.8, -9) to[out=315,in=125] (19.85,-16.01);
\begin{pgfonlayer}{background}
\shade[left color=blue, right color=red, very thick] (-19.5,-16) to[out=55,in=228] (-14,-9) to [out=45,in=180] (0,-2) to[out=0,in=135] (14, -9) to[out=315,in=125] (20,-16);
\end{pgfonlayer}
\end{tikzpicture}
\end{document}