旋转标题栏并减少逐行对齐

旋转标题栏并减少逐行对齐

我有以下代码,改编自这里

\documentclass{standalone}
\usepackage{pgfplotstable}
\pgfplotsset{compat=1.16}
\begin{document}
\pgfplotstabletypeset[col sep=comma,
  every head row/.style={
    typeset cell/.code={
      \ifnum\pgfplotstablecol=0
        \pgfkeyssetvalue{/pgfplots/table/@cell content}{&}%
      \else
      \ifnum\pgfplotstablecol=\pgfplotstablecols
        \pgfkeyssetvalue{/pgfplots/table/@cell content}{\rotatebox{90}{##1}\\}%
      \else
        \pgfkeyssetvalue{/pgfplots/table/@cell content}{\rotatebox{90}{##1}&}%
      \fi
      \fi
      }
    },
   %display columns/1/.style={dec sep align={r}}
  ]{
  one,two,three
  1,2.34,3
  2,1.45,4
  4,23.56,6
  5,2.45,9
  }
\end{document}

在此处输入图片描述

如果我取消注释注释行以尝试按小数点对齐第二列,则会收到以下错误:

! Misplaced \omit.
\multispan ->\omit 
                   \@multispan 
l.26 }

?

有人能提供解决方案吗?

答案1

使用

  1. column name=\rotatebox{90}{two}第二列
  2. assign column name/.style={ /pgfplots/table/column name={\rotatebox{90}{#1}}}对于其他列

\documentclass{standalone}
\usepackage{pgfplotstable}
\pgfplotsset{compat=1.16}
\begin{document}
\pgfplotstabletypeset[col sep=comma,
   display columns/1/.style={
   column name=\rotatebox{90}{two}, % <---------
   dec sep align,
   },
  assign column name/.style={
/pgfplots/table/column name={\rotatebox{90}{#1}} % <-----------
},
  ]{
  one,,three % <------
  1,2.34,3
  2,1.45,4
  4,23.56,6
  5,2.45,9
  }
\end{document}

在此处输入图片描述

相关内容