部分彩色细胞

部分彩色细胞

我想制作部分彩色的单元格,如下方答案所示使用直方图对单元格背景进行部分着色

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}

在此处输入图片描述

相关内容