如何向 pgfplotstable 标题单元格添加字体命令?

如何向 pgfplotstable 标题单元格添加字体命令?

我正在尝试更改 的标题的单元格颜色和文本颜色pgfplotstable。更改单元格颜色并不是什么大问题,因为我只需在行前加上\rowcolor:

\documentclass{standalone}
\usepackage{colortbl}
\usepackage{pgfplotstable}
\definecolor{cellshade}{rgb}{0.42, 0.55, 0.84}
\newcolumntype{C}[1]{>{\centering\arraybackslash}m{#1}}
\begin{document}
\pgfplotstabletypeset[
    col sep=comma,
    column type={C{5em}},
every first column/.style={reset styles,string type,column type={>{\color{white}\cellcolor{cellshade}\arraybackslash}C{5em}}},
%    /pgfplots/colormap={orangewhiteorange}{color=(myorange) color=(white) color=(myorange)},
%    color cells={min=-1,max=1,textcolor=black},
    every head row/.style={before row={\rowcolor{cellshade}}},
    /pgf/number format/fixed,
    /pgf/number format/skip 0.
]{
Component,1,2,3
1,1.000,.186,.074
2,.186,1.000,.003
3,.074,.003,1.000
}
\end{document}

带有黑色标题文本的表格

但显然表格应该是这样的:

带有白色标题文本的表格

不过,我还是没能找到一个好方法来改变标题文本的颜色。我可以改变每个单独列的名称,但这太不雅了。我知道我原则上可以调整这个答案但在我看来,它不仅非常不雅(它首先改变整个表格的字体样式,然后在后处理中将其反转),而且它还是一种通常无法扩展的解决方案,特别是在我的情况下,它并不适用,因为我在上面的 MWE 中遗漏了一个细节,那就是我无论如何都会对表格单元格进行后处理。我使用此代码为表格主体着色,因此表格的实际外观如下(或至少应该是这样的):

带有右标题和彩色单元格的表格

当然,我可以修改此代码,但我也在其他表中使用它,而采用这种方式迟早会导致灾难。这也不是正确做法™。

长话短说,我该如何向标题单元格添加字体命令(或者,我想,任何其他命令),而不影响表格的其余部分。

答案1

显然我还是记不清了如何旋转 pgfplotstable 的头行单元格条目:)

我相信这可以是一个功能请求。

\documentclass[border=5mm]{standalone}
\usepackage{colortbl}
\usepackage{pgfplotstable}
\pgfplotsset{compat=1.10}
\definecolor{cellshade}{rgb}{0.42, 0.55, 0.84}
\newcolumntype{C}[1]{>{\centering\arraybackslash}m{#1}}
\begin{document}
\pgfplotstabletypeset[
    col sep=comma,
    column type={C{5em}},
    every first column/.style={reset styles,string type,
                        column type={>{\color{white}\cellcolor{cellshade}\arraybackslash}C{5em}}
                        },
    every head row/.append style={
        before row={\rowcolor{cellshade}},
        typeset cell/.code={
        \ifnum\pgfplotstablecol=\pgfplotstablecols
        \pgfkeyssetvalue{/pgfplots/table/@cell content}{\textcolor{white}{##1}\\}%
        \else
        \pgfkeyssetvalue{/pgfplots/table/@cell content}{\textcolor{white}{##1}&}%
        \fi
        }
    },
    /pgf/number format/fixed,
    /pgf/number format/skip 0.
]{
Component,1,2,3
1,1.000,.186,.074
2,.186,1.000,.003
3,.074,.003,1.000
 }
\end{document}

在此处输入图片描述

相关内容