TikZpicture/pgfplots:使用“来自表格的 xticklabels”时如何减少显示的 xticklabels 数量?

TikZpicture/pgfplots:使用“来自表格的 xticklabels”时如何减少显示的 xticklabels 数量?

我想使用数据表中的数据(约 2000 个值)生成一个简单的 x/y 图。


最小工作示例(MWE):

\begin{filecontents}{Data_Table.csv}
X   Y
00:00   0
00:01   50
00:01   100
00:02   150
00:02   200
02:03   250
03:03   300
04:04   350
04:04   400
05:05   450
05:05   500
06:06   550
06:06   600
07:07   700
07:07   800
08:08   900
09:08   1000
12:09   1100
14:09   1200
14:10   1300
15:10   1400
16:11   1500
18:11   1600
20:12   1800
25:00   2000
\end{filecontents}

\documentclass{scrartcl}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}

\begin{document}

    \begin{figure}
       \begin{tikzpicture}
       \begin{axis}[
       width=0.5\textheight,      
       height=0.5\textheight,
       xlabel={Time [mm:ss]},
       ylabel={Measurement [mm]},
       xtick=data,
       xticklabels from table={Data_Table.csv}{X},
       xticklabel style={rotate=90,anchor=east},
       xmin = 0,
       ymin = 0,
       ymax = 2200,
       legend pos=outer north east,
       legend cell align=left,
       legend style={draw=none}]
       \addplot[color=black,mark=none] table [x expr=\coordindex,y=Y] {Data_Table.csv};
       \legend{Graph}
       \end{axis}
       \end{tikzpicture}
    \end{figure}
\end{document}

结果截图:

在此处输入图片描述


如您所见,x 轴下方显示的太多了xticklabels。如何减少显示的数量(密度)xticklabels,例如间隔 5 分钟?

我认为常见的xticks={5,10,15}命令将不起作用,因为包含了xticklabels来自数据表(xticklabels from table={Data_Table.csv}{X})的内容......


非常感谢您的帮助!

答案1

通过添加each nth point={some number}选项\addplot,您可以做您想做的事情。例如:

\addplot[color=black,mark=none, each nth point={2}] table [x expr=\coordindex,y=Y] {Data_Table.csv};

生成以下内容

在此处输入图片描述

相关内容