我想在 Tikz 中重现以下示例色彩图在 Python 中。我感兴趣的是 YlOrRd。我可以从提供的 pdf 中提取它,但 Tikz 解决方案更好。我尝试了三种颜色(左、中、右),但这还不够。
\documentclass[tikz]{standalone}
\definecolor{left}{RGB}{255,255,205}
\definecolor{middle}{RGB}{253,141,60}
\definecolor{right}{RGB}{128,0,38}
\begin{document}
\begin{tikzpicture}
\node[rectangle,left color=left,right color=middle,minimum width=2.5cm] (box) at (0,0){};
\node[rectangle,left color=middle,right color=right,minimum width=2.5cm] (box) at (2.5cm,0){};
\end{tikzpicture}
\end{document}
输出如下,其中顶部是 Tikz 版本的 Python 颜色图(底部)。
答案1
hsb
这是第一部分使用渐变、red
第二部分使用中间颜色的近似值。
\documentclass[tikz]{standalone}
\definecolor{left}{RGB}{255,255,205}
\definecolor{middle}{RGB}{253,141,60}
\definecolor{right}{RGB}{128,0,38}
\colorlet{hsbleft}[hsb]{left}
\colorlet{hsbmiddle}[hsb]{middle}
\begin{document}
\begin{tikzpicture}
\node[rectangle,left color=hsbleft,right color=hsbmiddle,minimum width=2.5cm] (box) at (0,0){};
\node[rectangle,left color=middle,right color=right,middle color=red,minimum width=2.5cm] (box) at (2.5cm,0){};
\end{tikzpicture}
\end{document}
为了方便起见,您可以YlOrRd
用所有颜色定义新的阴影(源自 pgfmanual、v3.0.1a、p.1088 的“彩虹光谱”示例):
\documentclass[tikz]{standalone}
\definecolor{left}{RGB}{255,255,205}
\definecolor{middle}{RGB}{253,141,60}
\definecolor{right}{RGB}{128,0,38}
\colorlet{hsbleft}[hsb]{left}
\colorlet{hsbmiddle}[hsb]{middle}
\pgfdeclareverticalshading{YlOrRd}{100bp}{
color(0bp)=(hsbleft);
color(25bp)=(hsbleft);
color(50bp)=(hsbmiddle);
color(50bp)=(middle);
color(67bp)=(red);
color(75bp)=(right);
color(100bp)=(right)
}
\begin{document}
\begin{tikzpicture}
\node[rectangle,shading angle=-90,shading=YlOrRd,minimum width=5cm]{};
\end{tikzpicture}
\end{document}