Pgfplots:字母数字 x 刻度标签

Pgfplots:字母数字 x 刻度标签

我有一些需要根据时间绘制的数据。但时间不是绝对的(不是 0、1、2、3、...)。因此,我想将 x 刻度标签表示为相对标签(如 t、t+1、t+2、t+3、...)。我的数据集很大(大约一百万个数据点),因此我无法像社区中某些问题中给出的那样为每个数据点手动写下来(示例 1示例 2

我怎样才能实现这个目标?

答案1

你可以使用类似

xticklabel={
    \ifnum \ticknum=1 $t$
  \else
    \pgfmathparse{\ticknum-1} $t+\pgfmathprintnumber[fixed,precision=0]{\pgfmathresult}$
  \fi
}

例子:

\documentclass[margin=5pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.13}
\begin{document}
\begin{tikzpicture}
  \begin{axis}[
  xmin=0,
  xticklabel={
      \ifnum \ticknum=1 $t$
    \else
      \pgfmathparse{\ticknum-1} $t+\pgfmathprintnumber[fixed,precision=0]{\pgfmathresult}$
    \fi
  }
  ]
  \addplot[]{x^2};
  \end{axis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

或者您可以使用@Alenanno 的建议(请参阅下面的评论)

xticklabel={
    \ifnum \ticknum=1 $t$
  \else
   \pgfmathtruncatemacro\myticknum{\ticknum-1} $t+\myticknum$
  \fi
}

相关内容