![如何使表格呈现基于值的渐变着色?](https://linux22.com/image/449391/%E5%A6%82%E4%BD%95%E4%BD%BF%E8%A1%A8%E6%A0%BC%E5%91%88%E7%8E%B0%E5%9F%BA%E4%BA%8E%E5%80%BC%E7%9A%84%E6%B8%90%E5%8F%98%E7%9D%80%E8%89%B2%EF%BC%9F.png)
我有下表,需要根据值与 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}