xtick latex 小时选项

xtick latex 小时选项

我有许多使用日期作为 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}

我用了这个答案在小时前添加一个前导零。

结果:

enter image description here

相关内容