我正在尝试用阴影填充雷达图(也称为蜘蛛网),就像使用 3Dplot 中的颜色条功能所看到的那样。
雷达图评估 3 个维度,评级从 0 到 5(0=无,1=非常差,...5=非常好);并且还定义了 5 种颜色,对应每个评级。
我想根据每个点与原点的距离,使用带有颜色过渡阴影的渐变色标来为形状内部着色。
使用 colorbar 函数或者 TikZ 的任何函数是否可行?
雷达图和颜色的代码:
\documentclass{report}
\usepackage[utf8]{inputenc}
\usepackage[french]{babel}
\usepackage{color}
\usepackage{tikz}
\usepackage{pgfplots}
\definecolor{green-dark}{rgb}{0,0.2,0}
\definecolor{very-good}{RGB}{25,125,90}
\definecolor{good}{RGB}{90,170,130}
\definecolor{neutral}{RGB}{240,170,50}
\definecolor{bad}{RGB}{180,120,110}
\definecolor{very-bad}{RGB}{160,50,40}
\begin{document}
%% Spider chart
%% ------------
\newcommand{\axisrated}{3} % dimensions
\newcommand{\scale}{5} % rating scale for each dimension
\newdimen\INsize
\INsize=3.5cm
\newdimen\OUTsize
\OUTsize=4.5cm
% Angle between rated dimensions
\newcommand{\Aradar}{360/\axisrated}
\begin{tikzpicture}
% Draw the spider web
\foreach \Xradar in {1,...,\axisrated}{
\draw (\Xradar*\Aradar:0) -- (\Xradar*\Aradar:\INsize);
}
\foreach \Yradar in {0,...,\scale}{
% Axis
\foreach \Xradar in {1,...,\axisrated}{
\path (\Xradar*\Aradar:\Yradar*\INsize/\scale) coordinate (P\Xradar-\Yradar);
\fill (P\Xradar-\Yradar) circle (1pt);
};
% Grid
\draw [opacity=0.2] (0:\Yradar*\INsize/\scale)
\foreach \Xradar in {1,...,\axisrated}{
-- (\Xradar * \Aradar : \Yradar*\INsize/\scale)
} -- cycle;
% Axis labels
\path (1*\Aradar:\OUTsize) node (L1) {Axis 1};
\path (2*\Aradar:\OUTsize) node (L2) {Axis 2};
\path (3*\Aradar:\OUTsize) node (L3) {Axis 3};
}
% Draw the result
\draw [color=green-dark,line width=1.5pt,opacity=0.7]
(P1-1) --
(P2-5) --
(P3-3) -- cycle;
\end{tikzpicture}
\end{document}