1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
%--------------------------------------------
%
% Package pgfplots, library for high-level coordinates.
%
% Copyright 2007/2008 by Christian Feuersänger.
%
% This program is free software: you can redistribute it and/or modify
% it under the terms of the GNU General Public License as published by
% the Free Software Foundation, either version 3 of the License, or
% (at your option) any later version.
%
% This program is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
% GNU General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with this program. If not, see <http://www.gnu.org/licenses/>.
%
%--------------------------------------------
\pgfutil@usemodule{pgfcalendar}
% Idea: allow
%--------------------------------------------------
% \begin{tikzpicture}
% \begin{axis}[
% date coordinates in=x,
% xticklabel={\day.\month.},
% ]
% \addplot coordinates {
% (2008-01-5, 5)
% (2008-01-12, 10)
% (2008-01-16, 20)
% };
% \end{axis}
% \end{tikzpicture}
%--------------------------------------------------
\def\pgfplots@truncate@to@julian#1.#2\pgfplots@EOI#3{#3=#1\relax}%
\pgfplotsset{
/pgfplots/date ZERO/.code={%
\begingroup
\pgfcalendardatetojulian{#1}\c@pgf@counta
\edef\pgfmathresult{\the\c@pgf@counta}%
\pgfmath@smuggleone\pgfmathresult
\endgroup
\let\pgfplots@calender@ZEROSHIFT=\pgfmathresult
},
date ZERO=2006-01-01,
/pgfplots/date coordinates in/.style={
/pgfplots/#1 coord trafo/.code={%
\begingroup
\pgfcalendardatetojulian{##1}\c@pgf@counta
\advance\c@pgf@counta by-\pgfplots@calender@ZEROSHIFT\relax
\edef\pgfmathresult{\the\c@pgf@counta}%
\pgfmath@smuggleone\pgfmathresult
\endgroup
},
/pgfplots/#1 coord inv trafo/.code={%
\begingroup
\pgfplots@truncate@to@julian##1\pgfplots@EOI{\c@pgf@counta}%
\advance\c@pgf@counta by\pgfplots@calender@ZEROSHIFT\relax
\expandafter
\endgroup
\expandafter\pgfcalendarjuliantodate\expandafter{\the\c@pgf@counta}\year\month\day
\edef\pgfmathresult{\year-\month-\day}%
},
/pgfplots/#1ticklabel={\tick},%
/pgfplots/scaled #1 ticks=false,
},
/pgfplots/date coordinates in/.value required,
}
|