我想制作部分彩色的单元格,如下方答案所示使用直方图对单元格背景进行部分着色。
TikZ 示例对我来说不起作用,我宁愿使用没有 TikZ 的答案。
我遇到的问题是,我有列标题,但颜色不再从单元格的左边框开始。
这是我根据上述答案做出的最小工作示例:
\documentclass{article}
\usepackage[table]{xcolor}% http://ctan.org/pkg/xcolor
\usepackage[nomessages]{fp}% http://ctan.org/pkg/fp
\newlength{\maxlen}
\newcommand{\databar}[3][green!50]{%
\settowidth{\maxlen}{#2}%
\addtolength{\maxlen}{\dimexpr2\tabcolsep-\arrayrulewidth}%
\FPeval\result{round(#3/#2:4)}%
\rlap{\color{#1}\hspace*{\dimexpr-\tabcolsep+.5\arrayrulewidth}\rule[-.05\ht\strutbox]{\result\maxlen}{.95\ht\strutbox}}%
\makebox[\dimexpr\maxlen-2\tabcolsep+\arrayrulewidth][r]{#3}%
}
\begin{document}
\begin{tabular}{ | l | r |}
\hline
Name & Value column which is much wider \\
\hline
name1 & \databar{10.0}{1} \\
name2 & \databar{10.0}{2} \\
name3 & \databar{10.0}{3} \\
name4 & \databar{10.0}{4} \\
name5 & \databar{10.0}{5} \\
name6 & \databar{10.0}{6} \\
name7 & \databar{10.0}{8} \\
name8 & \databar{10.0}{8} \\
name9 & \databar{10.0}{9} \\
name10 & \databar{10.0}{10} \\
\hline
\end{tabular}
\end{document}
我希望条形图能够延伸至整个列,而不仅限于右侧。我该怎么做?谢谢!
答案1
\documentclass{article}
\usepackage[table]{xcolor}
\usepackage[nomessages]{fp}
\newlength\maxlen
\newcommand\databar[3][green!50]{%
\FPeval\result{round(#3/#2:4)}%
\rlap{\textcolor{#1}{\hspace*{\dimexpr-\tabcolsep+.5\arrayrulewidth}%
\rule[-.05\ht\strutbox]{\result\maxlen}{.95\ht\strutbox}}}%
\makebox[\dimexpr\maxlen-2\tabcolsep+\arrayrulewidth][r]{#3}}
\def\header{Value column which is much wider}
\settowidth\maxlen{\header}
\addtolength\maxlen{\dimexpr2\tabcolsep-\arrayrulewidth}
\begin{document}
\begin{tabular}{ | l | l |}
\hline
Name & \header \\
\hline
name1 & \databar{10.0}{1} \\
name2 & \databar{10.0}{2} \\
name3 & \databar{10.0}{3} \\
name4 & \databar{10.0}{4} \\
name5 & \databar{10.0}{5} \\
name6 & \databar{10.0}{6} \\
name7 & \databar{10.0}{8} \\
name8 & \databar{10.0}{8} \\
name9 & \databar{10.0}{9} \\
name10 & \databar{10.0}{10} \\
\hline
\end{tabular}
\end{document}