![在日期图中指定自定义刻度](https://linux22.com/image/327102/%E5%9C%A8%E6%97%A5%E6%9C%9F%E5%9B%BE%E4%B8%AD%E6%8C%87%E5%AE%9A%E8%87%AA%E5%AE%9A%E4%B9%89%E5%88%BB%E5%BA%A6.png)
如何正确指定日期图中的刻度?
我试过
\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}