我在一个.csv
文件中有以秒为x
值的数据。我想x
以小时:分钟格式勾选轴,例如:0:00
,,,...0:30
1:00
1:30
我该如何重新定义价值观的解释以适应不同的表现风格?
数据样本
seconds values
30 3.98
60 3.97
90 3.96
120 3.96
150 3.95
... ...
3210 3.45
答案1
您可以使用 将秒转换为小时x filter
,然后在表达式中拆分标签的小时和分钟xticklabel
:
\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
% Convert seconds to hours
x filter/.code={\pgfmathparse{#1/3600}},
xticklabel={ % Split into hours and minutes
\pgfmathsetmacro\hours{floor(\tick)}%
\pgfmathsetmacro\minutes{(\tick-\hours)*0.6}%
% Use some trickery to get leading zeros
\pgfmathprintnumber{\hours}:\pgfmathprintnumber[fixed, fixed zerofill, skip 0.=true, dec sep={}]{\minutes}%
},
xtick={0,0.25,...,1}
]
\addplot table {
seconds values
30 3.98
60 3.97
90 3.96
120 3.96
3210 3.95
};
\end{axis}
\end{tikzpicture}
\end{document}