我正在尝试更改某些值超过某个限制的单元格的背景颜色。例如,如果单元格值高于 2,则单元格背景颜色应为红色。我认为我非常接近,因为当表格只有数字时我可以做到。问题是当我的表格中有一些包含文本的单元格和其他包含数字的单元格时,我不知道该怎么做。
我可以做什么:
\documentclass[12pt]{article}
\usepackage{tikz}
\usepackage{collcell}
%The min, mid and max values
\newcommand*{\MinNumber}{0.0}%
\newcommand*{\MidNumber}{0.5} %
\newcommand*{\MaxNumber}{1.0}%
%Apply the gradient macro
\newcommand{\ApplyGradient}[1]{%
\ifdim #1 pt > \MidNumber pt
\pgfmathsetmacro{\PercentColor}{max(min(100.0*(#1 - \MidNumber)/(\MaxNumber-\MidNumber),100.0),0.00)} %
\hspace{-0.33em}\colorbox{green!\PercentColor!yellow}{#1}
\else
\pgfmathsetmacro{\PercentColor}{max(min(100.0*(\MidNumber - #1)/(\MidNumber-\MinNumber),100.0),0.00)} %
\hspace{-0.33em}\colorbox{red!\PercentColor!yellow}{#1}
\fi
}
\newcolumntype{R}{>{\collectcell\ApplyGradient}c<{\endcollectcell}}
\renewcommand{\arraystretch}{0}
\setlength{\fboxsep}{3mm} % box size
\setlength{\tabcolsep}{0pt}
\begin{document}
\begin{table}[ht]
\center{{\textbf{\huge SOME TEXT HERE}} \\Lat: -20.34 / Lon: -40.21 \\}
\caption{Some text here...}
\renewcommand{\baselinestretch}{2}
\center
\begin{center}
\begin{tabular}{*{10}{R}}
\hline
%\rowcolor{Gray}
1.00 & 1.00 & 1.00 & 1.00 & 0.99 & 0.98 & 0.96 & 0.90 & 0.82 & 0.37 \\
1.00 & 1.00 & 0.99 & 0.98 & 0.95 & 0.90 & 0.82 & 0.61 & 0.37 & 0.01 \\
1.00 & 0.99 & 0.98 & 0.96 & 0.90 & 0.82 & 0.67 & 0.37 & 0.14 & 0.00 \\
1.00 & 0.98 & 0.95 & 0.90 & 0.78 & 0.61 & 0.37 & 0.08 & 0.01 & 0.00 \\
\end{tabular}
\end{center}
\end{table}
\end{document}
我想做的是类似于:
\documentclass[12pt]{article}
\usepackage{tikz}
\usepackage{collcell}
%The min, mid and max values
\newcommand*{\MinNumber}{0.0}%
\newcommand*{\MidNumber}{0.5} %
\newcommand*{\MaxNumber}{1.0}%
%Apply the gradient macro
\newcommand{\ApplyGradient}[1]{%
\ifdim #1 pt > \MidNumber pt
\pgfmathsetmacro{\PercentColor}{max(min(100.0*(#1 - \MidNumber)/(\MaxNumber-\MidNumber),100.0),0.00)} %
\hspace{-0.33em}\colorbox{green!\PercentColor!yellow}{#1}
\else
\pgfmathsetmacro{\PercentColor}{max(min(100.0*(\MidNumber - #1)/(\MidNumber-\MinNumber),100.0),0.00)} %
\hspace{-0.33em}\colorbox{red!\PercentColor!yellow}{#1}
\fi
}
\newcolumntype{R}{>{\collectcell\ApplyGradient}c<{\endcollectcell}}
\renewcommand{\arraystretch}{0}
\setlength{\fboxsep}{3mm} % box size
\setlength{\tabcolsep}{0pt}
\begin{document}
\begin{table}[ht]
\center{{\textbf{\huge SOME TEXT HERE}} \\Lat: -20.34 / Lon: -40.21 \\}
\caption{Some text here...}
\renewcommand{\baselinestretch}{2}
\center
\begin{center}
\begin{tabular}{*{10}{R}}
\hline
%\rowcolor{Gray}
\textbf{text} & \textbf{text} & \textbf{text} & \textbf{text} & \textbf{text} & \textbf{text} & \textbf{text} & \textbf{text} & \textbf{text} & \textbf{text} & \textbf{text} & \textbf{text} & \textbf{text}
\textbf{Hs} & 1.00 & 1.00 & 1.00 & 0.99 & 0.98 & 0.96 & 0.90 & 0.82 & 0.37 \\
\textbf{Tp} & 1.00 & 0.99 & 0.98 & 0.95 & 0.90 & 0.82 & 0.61 & 0.37 & 0.01 \\
\textbf{Wind Spd.} & 0.99 & 0.98 & 0.96 & 0.90 & 0.82 & 0.67 & 0.37 & 0.14 & 0.00 \\
\textbf{Wind Dir.} & 0.98 & 0.95 & 0.90 & 0.78 & 0.61 & 0.37 & 0.08 & 0.01 & 0.00 \\
\end{tabular}
\end{center}
\end{table}
\end{document}
从理论上讲,唯一的区别是包含一些带有文本而不是数字的单元格。
有人可以帮助我吗?我知道对于更有经验的人来说这个问题可能很容易,但对于像我这样的乳胶初学者来说,这是一个挑战。