Полностью настраиваемый цветовой градиент в TikZ

Полностью настраиваемый цветовой градиент в TikZ

Линейные и радиальные градиенты очень гибкие вSVG. Можно создавать градиенты, содержащие несколько остановок с полупрозрачными цветами. Вот пример:

введите описание изображения здесь

Градиенты на рисунке слева направо линейные, радиальные без фокуса и радиальные с фокусом на точке соответственно. Первая строка показывает применение этих градиентов к прямоугольнику, а вторая строка показывает то же применение к кругу. Остановки одинаковы для всех градиентов следующим образом:

<stop offset="0.000000" stop-color="#ffffff00"/>
<stop offset="0.200000" stop-color="#ffff00ff" />
<stop offset="0.400000" stop-color="#0000ff88" />
<stop offset="0.600000" stop-color="#008000ff" />
<stop offset="0.800000" stop-color="#ff0000ff" />
<stop offset="1.000000" stop-color="#ff5599cc" />

(Для краткости я не стал вставлять полный код SVG.)

Я хочу построить эту картинку с помощью TikZ в LaTeX. Я изучил множество документации и руководств по затенению и выцветанию, ни одно из которых не дает ни малейшего представления о том, как построить эту картинку (пока что я узнал, что затенение, содержащее несколько остановок с непрозрачными цветами, возможно, хотя и с очень низкой гибкостью). Итак, мой вопрос в строке:

Как реализовать картинку вопроса в LaTeX с помощью TikZ?

решение1

\documentclass[tikz]{standalone} 
\usetikzlibrary{shadings, fadings}
  \begin{document} 
   \begin{tikzpicture}   
\definecolor{color1}{RGB}{255,0,0}   \definecolor{color2}{RGB}{0,255,0}   \definecolor{color3}{RGB}{0,0,255}    
\tikzfading[name=fade1, top color=transparent!0, bottom color=transparent!100]   \tikzfading[name=fade2, top color=transparent!0, bottom color=transparent!100]   \tikzfading[name=fade3, top color=transparent!0, bottom color=transparent!100] – 
\shade[path fading=fade1, left color=color1, right color=color1] (0,0) rectangle (2,1);   \shade[path fading=fade2, left color=color2, right color=color2] (0,1) rectangle (2,2);   \shade[path fading=fade3, left color=color3, right color=color3] (0,2) rectangle (2,3); \end{tikzpicture}
  \end{document}

введите описание изображения здесь

Связанный контент