如何使用条形图在表格中表示百分比?

如何使用条形图在表格中表示百分比?

我想使用黑色和灰色条来表示一些百分比。灰色是底部的基本颜色,黑色是实际百分比。 在此处输入图片描述

答案1

\MAX定义条形的最大宽度,即 1

\documentclass{article}
\usepackage{xcolor}
\newlength\MAX  \setlength\MAX{5mm}
\newcommand*\Chart[1]{#1~\rlap{\textcolor{black!20}{\rule{\MAX}{2ex}}}\rule{#1\MAX}{2ex}}
\begin{document}

\begin{tabular}{@{} l l l @{}}
Pull Up Method & \Chart{1.000} & \Chart{0.600}\\
Move Field     & \Chart{0.269} & \Chart{0.783}
\end{tabular}

\end{document}

在此处输入图片描述

也可以将条的高度更改为字符的高度。

答案2

或者,您可以像这样创建一个单独的栏:是否可以在表格中创建条形图?\usepackage{calc}您可以计算最大值(用\newlength\WIDTHOFBAR和定义\setlength\WIDTHOFBAR{1cm})之间的差异以获得具有以下定义的百分比表示。

条形图定义:

\def\blackwhitebar#1{%%
  #1 {\color{black!100}\rule{#1cm}{8pt}}{\color{black!30}\rule{\WIDTHOFBAR - #1 cm}{8pt}}}

解决方案:

在此处输入图片描述

梅威瑟:

\documentclass{article}
\usepackage{booktabs}
\usepackage{xcolor}
\usepackage{calc}

\newlength\WIDTHOFBAR
\setlength\WIDTHOFBAR{1cm}

\def\blackwhitebar#1{%%
  #1 {\color{black!100}\rule{#1cm}{8pt}}{\color{black!30}\rule{\WIDTHOFBAR - #1 cm}{8pt}}}

\begin{document}
    \begin{table}
        \centering
        \begin{tabular}{ l r r r r r } 
            \toprule
            & \multicolumn{2}{c}{A} & \multicolumn{2}{c}{B}\\
            \cmidrule(lr){2-3} \cmidrule(l){4-5} 
            Type & Precision & Recall  & Precision & Recall \\\midrule
            Move Type & \blackwhitebar{1.000}  &\blackwhitebar{0.968} & ... & ... \\
            Extract Type & \blackwhitebar{1.000}  &\blackwhitebar{0.600} & ... & . \\
            \bottomrule
        \end{tabular}
    \end{table}

\end{document}

答案3

以下是使用 tikz 的解决方案:

\documentclass{article} 


\usepackage{tikz}

\newcommand{\DrawPercentageBar}[1]{%
  \begin{tikzpicture}
    \fill[color=black]   (0.0 , 0.0) rectangle (#1*3ex , 1.5ex );
    \fill[color=gray] (#1*3ex  , 0.0) rectangle (3.0ex, 1.5ex);
  \end{tikzpicture}%
}

\begin{document}

0.800 \DrawPercentageBar{0.8}


\end{document}

结果如下:在此处输入图片描述

您还可以根据需要更改栏的尺寸。

相关内容