Pgfplotstable:我如何添加百分号(并尊重十进制九进制对齐)?

Pgfplotstable:我如何添加百分号(并尊重十进制九进制对齐)?

我的数据包含一个数字列,如0.01或 ,0.9412我想将其显示为1.00%94.12%。我想通过 来声明该列dec sep align。我该怎么做?

[这个问题是在回答PGFplotstable:是否可以为“行”而不是“列”设置数字格式?已被接受。我将其添加为单独的答案以简化搜索]

答案1

关键思想是使用

  1. 将值乘以 100 的预处理方式

  2. 附加百分号的后处理样式

然而,后处理风格适用于单元格,因为dec sep align创建了两个人工单元格。手册指出,\pgfplotstablepartno可用于识别当前正在后处理的部件。完整的解决方案可以是

在此处输入图片描述

\documentclass{article}
\usepackage{pgfplotstable}

\begin{document}

\pgfplotstabletypeset[
    columns/A/.style={
        column type=r,
        dec sep align,
        preproc/expr={100*##1},
        postproc cell content/.append code={
            \ifnum1=\pgfplotstablepartno
                \pgfkeysalso{@cell content/.add={}{\%}}%
            \fi
        },
        fixed,
        fixed zerofill,
    },
]
{
 A
 0.01
 1
 0.1234
 0.5
}

\end{document}

相关内容