如何使用 pgfplotstable 显示大型数据文件中的每第 4 行?

如何使用 pgfplotstable 显示大型数据文件中的每第 4 行?

问题:我正在尝试选择某些行,类似于这个问题使用 pgfplotstable 选择要显示的行,但我不确定该怎么做。我只想显示每 4 行。类似skip rows between index但更自动化(文件相当长)。我尝试使用下面的代码,但我不知道如何输出每 4 行(从 1 开始(即:1、5、9 等)。我假设某种类型的数学运算符会起作用,但如何呢?

\documentclass{standalone}
\usepackage{pgfplotstable}
\begin{document}
\pgfplotstableread{
 obs      number
  1         2
  2         5
  3         3
  4         2
  5         4
  6         1
  7         2
  8         5
  9         3
  10        2
  11        4
  12        1
}\loadedtable
\pgfplotstabletypeset[
  row predicate/.code={%
    \pgfplotstablegetelem{#1}{obs}\of{\loadedtable}
    \ifnum\pgfplotsretval=??\relax %Use some seq operator?
      \else\pgfplotstableuserowfalse
    \fi}
]{\loadedtable}
\end{document}

答案1

Mod您可以对此使用常规操作。

\documentclass{standalone}
\usepackage{pgfplotstable}
\begin{document}
\pgfplotstableread{
 obs      number
  1         2
  2         5
  3         3
  4         2
  5         4
  6         1
  7         2
  8         5
  9         3
  10        2
  11        4
  12        1
}\loadedtable
\pgfplotstabletypeset[
  row predicate/.code={%
    \pgfplotstablegetelem{#1}{obs}\of{\loadedtable}
    \pgfmathparse{int(Mod(\pgfplotsretval,4)}
    \ifnum\pgfmathresult=0\relax
      \else\pgfplotstableuserowfalse
    \fi}
]{\loadedtable}
\end{document}

在此处输入图片描述

相关内容