我有一个包含百分比的 csv 文件,需要将其加载到 pgfplotstable 中。我已经使用 siunitx 对其进行了格式化,但我没有找到移动小数点(乘以 100)以获取百分比数字的可能性。
以下是 MWE:
\documentclass[12pt]{standalone}
\usepackage{filecontents}
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\usepackage{siunitx}
\begin{document}
\begin{filecontents}{data.csv}
0.563725,0.819520,0.713402
0.563725,0.819520,0.713402
\end{filecontents}
\sisetup{
round-mode = places,
round-precision = 2,
}
\pgfplotstabletypeset[
col sep=comma,
display columns/0/.style={column type={S},string type},
display columns/1/.style={column type={S},string type},
display columns/2/.style={column type={S},string type}
]{data.csv}
\end{document}
答案1
您可以对排版定义应用预处理操作:
\pgfplotstabletypeset[
col sep=comma,
columns/0/.style={preproc/expr={100*##1}},
columns/1/.style={preproc/expr={100*##1}},
columns/2/.style={preproc/expr={100*##1}},
]{data.csv}
查看PgfplotsTable 手册,“预处理单元格内容”部分。
答案2
尽管接受了答案,但我还是通过使用内置样式属性找到了另一种解决方案multiply with
:
\pgfplotstabletypeset[
col sep=comma,
display columns/0/.style={column type={S},string type,multiply with=100},
display columns/1/.style={column type={S},string type,multiply with=100},
display columns/2/.style={column type={S},string type,multiply with=100}
]{data.csv}