在 Pgfplotstable 中设置单个元素的样式

在 Pgfplotstable 中设置单个元素的样式

根据手册pgfplotstable设置表格中整行或整列的颜色相当容易。但是,我只想设置位于某一行或某一列的一个元素的样式。

用于\pgfplotstablegetelem{<row>}{<col>}\of{<table>}访问表格元素。

我可以根据元素的符号来设计元素的样式:columns/account1/.style={fonts by sign={}{\color{red}}}

如何在以下由行列坐标 (colB,2) 标识的示例中设置 22 的样式?如果我从包含纯数据的文件中加载数据,则此功能很有意义。

\pgfplotstabletypeset[col sep=&,row sep=\\,sci zerofill]{
  colA & colB & colC \\
  11   & 12   & 13   \\
  21   & 22   & 23   \\
}

答案1

pgfplotstable 1.4.1 之前的版本仅支持行和列样式。但是,它允许查询\pgfplotstablerow\pgfplotstablecol宏,因此您可以使用(诚然有点偏颇的)语法


\pgfplotstabletypeset[
    columns/colB/.style={%
        postproc cell content/.code={%
            \ifnum\pgfplotstablerow=1 
                \pgfkeysalso{@cell content=\textbf{##1}}%
            \fi
        },
    },
    col sep=&,row sep=\\]{
  colA & colB & colC \\
  11   & 12   & 13   \\
  21   & 22   & 23   \\
}

它所做的就是为整个列分配一个后处理器。但特定于列的后处理器会检查行索引,并仅对行索引 1(索引从 0 开始)应用操作。

似乎我忘记了这个特定功能。我刚刚向 pgfplotstable 添加了一个新功能,它以更简单的方式(通过定义every row <index> column <name or index>/.style)实现了该特定应用程序。如果您经常需要这样的东西,您可能需要关注 pgfplots 不稳定版本pgfplots sourceforge 网页,我会在接下来的几天内上传修改内容。

相关内容