在日期图中指定自定义刻度

在日期图中指定自定义刻度

如何正确指定日期图中的刻度?

我试过

\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.13}
\usepgfplotslibrary{dateplot}

\begin{document}

%\begin{tikzpicture}
%\begin{axis}
%\addplot coordinates{
%(1, 0)
%(2, 1)
%};
%\end{axis}
%\end{tikzpicture}

\begin{tikzpicture}
\begin{axis}[
date coordinates in=x,
xtick={
2014-01-01,
2016-01-01
},
xmin=2014-01-01,
xmax=2016-07-01
]

\addplot coordinates{
(2014-01-16, 0)
(2016-01-18, 1)
};
\end{axis}
\end{tikzpicture}

\end{document}

但它不能编译:

! Undefined control sequence.
\pgfplots@loc@TMPc ...pgfplots@calender@ZEROSHIFT 
                                                  \relax \ifx \pgfplotstempt...
l.30 ]

非常奇怪的是:如果日期图不是第一个图(例如,在我的示例中取消注释第一个图),则一切都可以正常编译。

这是一个错误吗?

答案1

date ZERO如果您使用自定义 xticks,则似乎必须手动指定。

\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.13}
\usepgfplotslibrary{dateplot}

\begin{document}

\begin{tikzpicture}
\begin{axis}[
date coordinates in=x,
date ZERO=2014-01-01, % ADDED LINE
xtick={
2014-01-01,
2016-01-01
},
xmin=2014-01-01,
xmax=2016-07-01
]

\addplot coordinates{
(2014-01-16, 0)
(2016-01-18, 1)
};
\end{axis}
\end{tikzpicture}

\end{document}

相关内容