如何使表格呈现基于值的渐变着色?

如何使表格呈现基于值的渐变着色?

我有下表,需要根据值与 100 的接近程度将其从红色编码为绿色。

这是代码:

\begin{table}[]
\begin{tabular}{ccccccccccccccccc}
\multicolumn{1}{l}{} & \multicolumn{16}{c}{\textbf{Percentage Recovery Rate (\%) - Simulation Data}}                                                                                                                                                       \\
\textbf{No. Traces}  & \textbf{B0} & \textbf{B1} & \textbf{B2} & \textbf{B3} & \textbf{B4} & \textbf{B5} & \textbf{B6} & \textbf{B7} & \textbf{B8} & \textbf{B9} & \textbf{B10} & \textbf{B11} & \textbf{B12} & \textbf{B13} & \textbf{B14} & \textbf{B15} \\
10                   & 0           & 10          & 0           & 0           & 0           & 5           & 0           & 5           & 0           & 0           & 0            & 5            & 5            & 0            & 0            & 0            \\
100                  & 40          & 30          & 20          & 20          & 20          & 15          & 10          & 10          & 15          & 15          & 20           & 15           & 25           & 40           & 15           & 15           \\
200                  & 45          & 45          & 45          & 65          & 45          & 50          & 60          & 50          & 45          & 70          & 45           & 55           & 50           & 60           & 50           & 50           \\
300                  & 60          & 70          & 70          & 75          & 60          & 75          & 75          & 75          & 75          & 75          & 75           & 80           & 70           & 75           & 95           & 75           \\
400                  & 75          & 90          & 85          & 90          & 75          & 85          & 95          & 90          & 80          & 90          & 90           & 90           & 90           & 85           & 90           & 95           \\
500                  & 90          & 95          & 95          & 90          & 80          & 90          & 100         & 100         & 95          & 95          & 100          & 100          & 90           & 95           & 100          & 100          \\
600                  & 100         & 100         & 100         & 100         & 90          & 95          & 100         & 100         & 95          & 100         & 100          & 100          & 95           & 95           & 100          & 100          \\
700                  & 100         & 100         & 100         & 100         & 95          & 100         & 100         & 100         & 100         & 100         & 100          & 100          & 100          & 100          & 100          & 100          \\
800                  & 100         & 100         & 100         & 100         & 100         & 100         & 100         & 100         & 100         & 100         & 100          & 100          & 100          & 100          & 100          & 100          \\
900                  & 100         & 100         & 100         & 100         & 100         & 100         & 100         & 100         & 100         & 100         & 100          & 100          & 100          & 100          & 100          & 100          \\
1000                 & 100         & 100         & 100         & 100         & 100         & 100         & 100         & 100         & 100         & 100         & 100          & 100          & 100          & 100          & 100          & 100          \\
1100                 & 100         & 100         & 100         & 100         & 100         & 100         & 100         & 100         & 100         & 100         & 100          & 100          & 100          & 100          & 100          & 100          \\
1200                 & 100         & 100         & 100         & 100         & 100         & 100         & 100         & 100         & 100         & 100         & 100          & 100          & 100          & 100          & 100          & 100         
\end{tabular}
\end{table}

该表目前的样子如下:

在此处输入图片描述

答案1

使用该包的示例collcell

在此处输入图片描述

\documentclass[border=10]{standalone}
\usepackage[table,dvipsnames]{xcolor}
\usepackage{collcell}
\newcommand{\Color}[1]{%
        \ifnum9<1#1\relax % simple test if cell value is a number
        \cellcolor{LimeGreen!#1!Red}#1
        \else
        #1
        \fi
}

\newcolumntype{C}{>{\collectcell\Color}c<{\endcollectcell}}

\begin{document}

\begin{tabular}{|c|*{16}{C|}}
\hline
 & \multicolumn{16}{c|}{\textbf{Percentage Recovery Rate (\%) - Simulation Data}}                                                                                                                                                       \\ \hline
\textbf{No. Traces}  & \textbf{B0} & \textbf{B1} & \textbf{B2} & \textbf{B3} & \textbf{B4} & \textbf{B5} & \textbf{B6} & \textbf{B7} & \textbf{B8} & \textbf{B9} & \textbf{B10} & \textbf{B11} & \textbf{B12} & \textbf{B13} & \textbf{B14} & \textbf{B15} \\ \hline
10                   & 0           & 10          & 0           & 0           & 0           & 5           & 0           & 5           & 0           & 0           & 0            & 5            & 5            & 0            & 0            & 0            \\ \hline
100                  & 40          & 30          & 20          & 20          & 20          & 15          & 10          & 10          & 15          & 15          & 20           & 15           & 25           & 40           & 15           & 15           \\ \hline
200                  & 45          & 45          & 45          & 65          & 45          & 50          & 60          & 50          & 45          & 70          & 45           & 55           & 50           & 60           & 50           & 50           \\ \hline
300                  & 60          & 70          & 70          & 75          & 60          & 75          & 75          & 75          & 75          & 75          & 75           & 80           & 70           & 75           & 95           & 75           \\ \hline
400                  & 75          & 90          & 85          & 90          & 75          & 85          & 95          & 90          & 80          & 90          & 90           & 90           & 90           & 85           & 90           & 95           \\ \hline
500                  & 90          & 95          & 95          & 90          & 80          & 90          & 100         & 100         & 95          & 95          & 100          & 100          & 90           & 95           & 100          & 100          \\ \hline
600                  & 100         & 100         & 100         & 100         & 90          & 95          & 100         & 100         & 95          & 100         & 100          & 100          & 95           & 95           & 100          & 100          \\ \hline
700                  & 100         & 100         & 100         & 100         & 95          & 100         & 100         & 100         & 100         & 100         & 100          & 100          & 100          & 100          & 100          & 100          \\ \hline
800                  & 100         & 100         & 100         & 100         & 100         & 100         & 100         & 100         & 100         & 100         & 100          & 100          & 100          & 100          & 100          & 100          \\ \hline
900                  & 100         & 100         & 100         & 100         & 100         & 100         & 100         & 100         & 100         & 100         & 100          & 100          & 100          & 100          & 100          & 100          \\ \hline
1000                 & 100         & 100         & 100         & 100         & 100         & 100         & 100         & 100         & 100         & 100         & 100          & 100          & 100          & 100          & 100          & 100          \\ \hline
1100                 & 100         & 100         & 100         & 100         & 100         & 100         & 100         & 100         & 100         & 100         & 100          & 100          & 100          & 100          & 100          & 100          \\ \hline
1200                 & 100         & 100         & 100         & 100         & 100         & 100         & 100         & 100         & 100         & 100         & 100          & 100          & 100          & 100          & 100          & 100         \\ \hline
\end{tabular}

\end{document}

相关内容