我有许多使用日期作为 x 轴的图表,我想知道是否有一个 xtick 选项可以自动每小时标记一次,而不是像那样写入每个标记:
xtick = {
{2018-04-27 05:00},
{2018-04-27 06:00},
{2018-04-27 07:00},
{2018-04-27 08:00},
{2018-04-27 09:00},
{2018-04-27 10:00},
{2018-04-27 11:00},
{2018-04-27 12:00},
{2018-04-27 13:00},
{2018-04-27 14:00},
{2018-04-27 15:00},
{2018-04-27 16:00},
{2018-04-27 17:00},
{2018-04-27 18:00},
{2018-04-27 19:00},
{2018-04-27 20:00}
}
因为我已经尝试过这个,但没有用,而且我知道这个方法多年来一直有效:
xtick = {
{2018-04-27 05:00},
{2018-04-27 06:00},
...,
{2018-04-27 20:00}
}
这是我最终想要得到的结果的一个例子:
!https://i.stack.imgur.com/2VJOc.jpg
谢谢 !
答案1
如果只有小时发生变化,您可能需要考虑仅使用小时作为刻度标签。
如果您确实想要完整的时间/日期,您可以使用xticklabel
如下选项:
\documentclass[tikz,margin=2mm]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
xticklabel = {%
\pgfmathparse{int(\tick)<10?"0":{},int(\tick)}%
2018-04-27 \pgfmathresult:00%
},
xticklabel style={rotate=90,anchor=east},
xtick distance=1,
xmin = 5,
xmax = 20,
]
\addplot+[domain=5:20] ({x},{x^2});
\end{axis}
\end{tikzpicture}
\end{document}
我用了这个答案在小时前添加一个前导零。
结果: