我正在使用 dateplot,这样我就可以在 x 轴上使用日期和时间。我想将绘图限制在某个日期范围内,但无法做到这一点……有人知道怎么做吗?谢谢
最小示例,主要来自 pgf 手册第 333 页:
\documentclass[letterpaper]{article}
\usepackage{pgfplots,amsmath}
\usepgfplotslibrary{dateplot}
\pgfplotsset{compat=1.11}
\begin{document}
\begin{tikzpicture}
\begin{axis}[date coordinates in=x,
x tick label style={rotate=90,anchor=near xticklabel},
xticklabel=\day. \hour:\minute,
date ZERO=2009-08-18]
%% I want to restrict the range of the plot over certain dates and times.
\addplot[restrict x to domain=2009-08-18 09:00:2009-08-18 15:00]
coordinates {
(2009-08-18 09:00, 050)
(2009-08-18 12:00, 100)
(2009-08-18 15:00, 100)
(2009-08-18 18:35, 100)
(2009-08-18 21:30, 040)
(2009-08-19 2:00, 020)
(2009-08-19 3:00, 000)
(2009-08-19 6:00, 035)
};
\end{axis}
\end{tikzpicture}
\end{document}
答案1
线路
restrict x to domain=2009-08-18 09:00:2009-08-18 15:00
有问题(冒号太多!)。解决办法是
xmin=2009-08-18 09:00, xmax=2009-08-18 15:00,
在轴选项中。
日期通常会有问题,因为它们使用保留字符(特别是冒号)。有时您可以通过在每个日期周围加上括号来规避这个问题。