使用 pgfplotstable 有条件地更改单元格值和背景颜色

使用 pgfplotstable 有条件地更改单元格值和背景颜色

我想根据输入数据生成一个表格。对于那些值 (x) 小于 5 的单元格,它应该具有灰色背景,并且值更改为 x+3。我使用的代码是

columns/C/.style={
postproc cell content/.append code={
\pgfkeyssetvalue{/pgfplots/table/@cell content}{\cellcolor{lightgray}{##1}}
      }

它可以生成灰色背景,但我不知道如何同时更改值。如果我用 替换{##1}{##1+3}它不起作用。我想知道是否有办法更改值。谢谢。

答案1

您需要测试并执行算术。这是一种测试方法,另一种执行简单操作的方法。否则您需要 pgfmath 或任何其他数学包。

\documentclass{standalone}
\usepackage{pgfplotstable,colortbl}
\pgfplotstableread{
C  D  
1  5  
2  5  
4  10 
5  10 
7  15 
}\mytable

\begin{document}
\pgfplotstabletypeset[
columns={C,D},
columns/C/.style={
postproc cell content/.append code={
\ifdim##1pt<5pt %
\pgfkeyssetvalue{/pgfplots/table/@cell content}{\cellcolor{lightgray}{\number\numexpr##1+3\relax}}
\fi}}
]\mytable
\end{document}

在此处输入图片描述

相关内容