Pgfplotstable ohne Überschriftenzeile

Pgfplotstable ohne Überschriftenzeile

Ich möchte eine Tabelle mit einer mehrspaltigen Überschrift setzennur. Hier ist mein aktueller Versuch

\documentclass{article}
\usepackage{pgfplotstable}
\usepackage{booktabs}
\usepackage{array}
\usepackage{colortbl}

\begin{document}
\pgfplotstabletypeset[col sep=&, header=false,
every head row/.style={
before row={%
\toprule
Facteurs & \multicolumn{5}{c}{Niveaux}\\
}},
every last row/.style={
after row=\bottomrule},
display columns/0/.style={string type}
]
{%
\pgfutilensuremath{\chi} & 8 & 11 & 14 & &
5 & 8 & 11 & 14 & 45 & 2.456
q & 8 & 11 & 14 & & 3
x & 8 & 11 & 14 & 5612345 & 4
b & 8 & 11 & 14 & & 5
}
\end{document}

was zu folgendem Ergebnis führt:

Bildbeschreibung hier eingeben

Wie kann ich die im Bild rot eingekreiste Überschriftenzeile entfernen?

Antwort1

Ab Version 1.6 von PGFPlots (glaube ich) output empty rowist ein neuer Schlüssel verfügbar, der das Drucken einer Zeile unterdrückt. Dieser kann in Ihrem Stil verwendet werden:

\documentclass{article}
\usepackage{pgfplotstable}
\usepackage{booktabs}

\begin{document}
\pgfplotstabletypeset[
    col sep=&, header=false,
    every head row/.style={ 
        output empty row,
        before row={%
            \toprule
            Facteurs & \multicolumn{5}{c}{Niveaux}\\
        }
    },
    every last row/.style={
        after row=\bottomrule
    },
    display columns/0/.style={string type}
]
{%
\pgfutilensuremath{\chi} & 8 & 11 & 14 & &
5 & 8 & 11 & 14 & 45 & 2.456
q & 8 & 11 & 14 & & 3
x & 8 & 11 & 14 & 5612345 & 4
b & 8 & 11 & 14 & & 5
}
\end{document}

Wenn Sie eine frühere Version verwenden und nicht aktualisieren können/wollen, gibt es hier einen etwas brutalen Workaround. Sie können den Code hinzufügen

\makeatletter
\pgfplotsset{
    /pgfplots/table/omit header/.style={%
        /pgfplots/table/typeset cell/.append code={%
            \ifnum\c@pgfplotstable@rowindex=-1
                \pgfkeyslet{/pgfplots/table/@cell content}\pgfutil@empty%
            \fi
        }
    }
}
\makeatother

in Ihrer Präambel, die einen Stil omit header rowverfügbar macht. Wenn Sie diesen Schlüssel in verwenden \pgfplotstable, wird die Ausgaberoutine für jede Tabellenzelle um eine Prüfung ergänzt, ob wir uns in Zeilennummer -1(der Kopfzeile) befinden, und wenn ja, wird keine Ausgabe generiert.

\documentclass{article}
\usepackage{pgfplotstable}
\usepackage{booktabs}


\makeatletter
\pgfplotsset{
    /pgfplots/table/omit header/.style={%
        /pgfplots/table/typeset cell/.append code={%
            \ifnum\c@pgfplotstable@rowindex=-1
                \pgfkeyslet{/pgfplots/table/@cell content}\pgfutil@empty%
            \fi
        }
    }
}
\makeatother

\begin{document}
\pgfplotstabletypeset[
    col sep=&,
    header=false,
    every head row/.style={
        before row={%
            \toprule
            Facteurs & \multicolumn{5}{c}{Niveaux}\\
        }
    },
    every last row/.style={
        after row=\bottomrule
    },
    display columns/0/.style={string type},
    omit header
]
{%
\pgfutilensuremath{\chi} & 8 & 11 & 14 & &
5 & 8 & 11 & 14 & 45 & 2.456
q & 8 & 11 & 14 & & 3
x & 8 & 11 & 14 & 5612345 & 4
b & 8 & 11 & 14 & & 5
}
\end{document}

verwandte Informationen