\section{Macros for the axes}

 \tkzHandBomb\ Careful, these macros have been modified. It's now easier to use the styles of \TIKZ. \tkzcname{tkzDrawX} allows to draw an axis, \tkzcname{tkzLabelX} places graduations and finally in simple cases \tkzcname{tkzAxeX} traces and graduations. The options of \TIKZ\ are accessible. 
Fractions can be used for graduations.
%<--------------------------------------------------------------------->
%                  tkzDrawX
%<--------------------------------------------------------------------->
\subsection{\tkzcname{tkzDrawX}}
\begin{NewMacroBox}{tkzDrawX}{\oarg{local options}}%
This macro allows you to draw the abscissa axis with default ticks.
The options are those of \TIKZ\ plus the following ones:

\medskip
\begin{tabular}{lll}%
\toprule
options  & default & definition   \\
\midrule
\TOline{color}      {black}  {Axis and ticks}
\TOline{noticks}    {false}  {no ticks on axis}
\TOline{right space}{0.5 cm} {axis extended right}
\TOline{left space} {0 cm}   {extension of the axis to the left}
\TOline{label}      {$x$}    {label name}
\TOline{trig}       {0}      {if <>0 graduations are multiples of $pi$/trig"   "trig is an integer"}
\TOline{tickwd}     {0.8pt}  {tick thickness}
\TOline{tickup}     {1pt}    {tick over axis}
\TOline{tickdn}     {1pt}    {tick depth over axis}
\bottomrule
\end{tabular}

\medskip
\begin{tikzpicture}[>=latex,scale=2]
  \draw[line width=2 pt](0,0)--(4,0);
  \draw[fill] (2cm-6pt,-14pt) rectangle (2cm+6pt,+14pt);
  \draw[<->](2cm-6.5pt,18pt) -- (2cm+6.5pt,+18pt);
  \node[above] at (2cm,20pt) {tickwd};
  \draw[<->](2cm+10pt,1pt) -- (2cm+10pt,+14pt);
  \node[right] at (2cm+10pt,8pt) {tickup};
  \draw[<->](2cm+10pt,-1pt) -- (2cm+10pt,-14pt);
  \node[right] at (2cm+10pt,-8pt) {tickdn};
\end{tikzpicture}

\medskip
This macro is used to draw the abscissa axis. The most important thing is to test all the options. Above, you have the values that define a tick. Otherwise the options of \TIKZ\ apply and in particular \tkzname{text}, \tkzname{color}, \tkzname{fill} and \tkzname{font}. 
\end{NewMacroBox}

\subsubsection{No tick, no label}
\begin{tkzexample}[latex=8cm,small]
\begin{tikzpicture}
 \tkzInit[xmax=5]
 \tkzDrawX[label={},noticks]
\end{tikzpicture}
\end{tkzexample}

\subsubsection{Label placement}
\begin{tkzexample}[latex=8cm,small]
\begin{tikzpicture}
 \tkzInit[xmax=5]
 \tkzDrawX[label      = quantity,
           above left = 8pt]
\end{tikzpicture}
\end{tkzexample}


\subsubsection{Label and Axis Colour}
The color of the label is obtained with the option \tkzname{text}, that of the axis with the option \tkzname{color}.

The option \tkzname{right=12pt} shifts the label $x$ by 12 pt.

\begin{tkzexample}[latex=7cm,small]
\begin{tikzpicture}
  \tkzInit[xmax=5]
  \tkzDrawX[text=blue,color=red,right=12pt]
\end{tikzpicture}
\end{tkzexample}

\subsubsection{Option \tkzname{right space}}
It adds a little space after the last tick.
\begin{tkzexample}[latex=6cm,small]
\begin{tikzpicture}
\tkzInit[xmax=0.4,xstep=0.1]
\tkzDrawX[text=blue,color=red,right=12pt,right space=1]
\end{tikzpicture}
\end{tkzexample}

 \subsubsection{Trigonometric axis with the option \tkzname{trig=n}}
If $number=0$ then the axis is graduated from cm to cm, otherwise the axis is graduated using multiples of $\frac{\pi}{number}$.

\begin{tkzexample}[latex=6cm,small]
\begin{tikzpicture}
  \tkzInit[xmin=0,xmax=4,ymin=-1,ymax=1]
  \tkzDrawX[trig=1]
\end{tikzpicture}
\end{tkzexample}

\subsubsection{Trigonometric axis with the option \tkzname{trig=2} }

\begin{tkzexample}[latex=6cm,small]
\begin{tikzpicture}
  \tkzInit[xmin=0,xmax=4,ymin=-1,ymax=1]
  \tkzDrawX[trig=2]
\end{tikzpicture}
\end{tkzexample}
%<--------------------------------------------------------------------->
%                  tkzLabelX
%<--------------------------------------------------------------------->
\subsection{\tkzcname{tkzLabelX}}
\begin{NewMacroBox}{tkzLabelX}{\oarg{local options}}%
This macro allows you to place graduations. The option \tkzname{orig} can be used again, but its behavior is reversed. By default, the original value is placed.
The options are those of \TIKZ, plus the following ones:

\medskip
\begin{tabular}{lll}
\toprule
options  & default & definition   \\
\midrule
\TOline{frac}  {0}{if <>0  graduations  are multiples num/frac "frac is an integer"}
\TOline{trig}  {0}{if <>0  graduations are multiples $pi$/trig  "trig is an integer"}
\TOline{font} {\BS textstyle} {scale size.}
\TOline{color}  {black} {graduation color}
\TOline{step}  {1} {interval between graduations}
\TOline{np off}  {false} {numprint deactivation}
\TOline{orig}  {true} {displays the origin graduation }
\bottomrule
\end{tabular}

{\tkzname{frac} and \tkzname{trig} are integers that can be changed to fractional or trigonometric writing. }
\end{NewMacroBox}

\subsubsection{Position of the graduations}
\begin{tkzexample}[latex=6cm,small]
\begin{tikzpicture}
\tkzInit[xmax=.5,xstep=0.1]
\tkzDrawX[label=$t$,text=blue,color=red]
\tkzLabelX[text=blue,below = 3pt]
\end{tikzpicture}
\end{tkzexample}


\subsubsection{Position of the graduations with \tkzname{xlabel style}}
\begin{tkzexample}[latex=5cm,small]
\begin{tikzpicture}
 \tkzInit[xmin=1000,xmax=4000,xstep=1000]
 \tkzDrawX
 \tikzset{xlabel style/.append style={rotate=-30}}
 \tkzLabelX[below right=3 pt,inner sep = 1pt]
\end{tikzpicture}
\end{tkzexample}

\subsubsection{Dates with \tkzname{np off}}
For dates, you have to deactivate numprint.
\begin{tkzexample}[latex=5cm,small]
\begin{tikzpicture}
 \tkzInit[xmin=2000,xmax=2004]
 \tkzDrawX
 \tikzset{xlabel style/.append style={rotate=-30}}
 \tkzLabelX[np off,below right=3 pt,inner sep =1pt]
\end{tikzpicture}
\end{tkzexample}

\subsubsection{\tkzname{frac}}
\begin{tkzexample}[latex=6cm,small]
\begin{tikzpicture}
\tkzInit[xmax=1.75,xstep=0.33333]
\tkzDrawX[label=$t$,text=blue,color=red]
\tkzLabelX[frac=3,text=blue,below = 6pt]
\end{tikzpicture}
\end{tkzexample}

\subsubsection{\tkzname{trig}}
\begin{tkzexample}[latex=6cm,small]
\begin{tikzpicture}
  \tkzInit[xmin=0,xmax=5,ymin=-1,ymax=1]
  \tkzDrawX[trig=2]
  \tkzLabelX[trig=2,text=blue,below = 8pt]
\end{tikzpicture}
\end{tkzexample}

\subsubsection{Graduations size}
Two possibilities. It is possible to define the default style used for the math mode:

\begin{tkzltxexample}[small]
\let\tkzmathstyle\textstyle
\end{tkzltxexample}

\begin{tkzexample}[latex=6cm,small]
\begin{tikzpicture}
  \tkzInit[xmin=0,xmax=5,ymin=-1,ymax=1]
  \tkzDrawX[trig=2]
  \tkzLabelX[trig=2,text=blue,below = 8pt]
\end{tikzpicture}
\end{tkzexample}

\begin{tkzexample}[latex=6cm,small]
\begin{tikzpicture}
  \tkzInit[xmin=0,xmax=5,ymin=-1,ymax=1]
  \let\tkzmathstyle\textstyle
  \tkzDrawX[trig=2]
  \tkzLabelX[trig=2,text=blue,
            below = 8pt]
\end{tikzpicture}
\end{tkzexample}

\begin{tkzexample}[latex=6cm,small]
\begin{tikzpicture}
  \tkzInit[xmin=0,xmax=5,ymin=-1,ymax=1]
  \tkzDrawX[trig=2]
  \tkzLabelX[trig=2,text=blue,
           below = 8pt,node font=\small]
\end{tikzpicture}
\end{tkzexample}

\begin{tkzexample}[latex=6cm,small]
\begin{tikzpicture}
  \tkzInit[xmin=0,xmax=5,ymin=-1,ymax=1]
  \tkzDrawX[trig=2]
  \tkzLabelX[trig=2,text=blue,
      below = 8pt,node font=\scriptsize]
\end{tikzpicture}
\end{tkzexample}

\subsubsection{Colour of the graduations}
The key here is to use the color, text, and text options correctly. 
\begin{tkzexample}[latex=7cm,small]
\begin{tikzpicture}
  \tkzInit[xmin = -2,xmax = 3,
           ymin = -2,ymax = 2]
 \tkzDrawX[color = red,
           label = $\displaystyle\frac{1}{t}$,
           below = 6pt]
 \tkzLabelX[text=blue]
\end{tikzpicture}
\end{tkzexample}

\subsubsection{Axis drawings before the graduation}
In some cases, it is preferable to place \tkzcname{tkzDrawXY} after \tkzcname{tkzLabelX} and \tkzcname{tkzLabelY}. 

This prevents display problems.


\begin{tkzexample}[latex=7cm,small]
\begin{tikzpicture}
\tkzInit[xmin = -1,xmax = 4,
         ymin = -1,ymax = 1]
\tkzDrawXY \tkzLabelX  \tkzLabelY
\end{tikzpicture}
\end{tkzexample}

\subsubsection{Graduations (except originally) prior to tracings  }

\begin{tkzexample}[latex=7cm,small]
\begin{tikzpicture}
   \tkzInit[xmin = -1,xmax = 4,
            ymin = -1,ymax = 1]
   \tkzLabelX[orig=false] 
   \tkzLabelY[orig=false]
   \tkzDrawXY
\end{tikzpicture}
\end{tkzexample}

\subsubsection{Only positive graduations before drawings }

\begin{tkzexample}[latex=7cm,small]
\begin{tikzpicture}
  \tkzInit[xmin=2,ymin=2,xmax=4,ymax=4]
  \tkzLabelX \tkzLabelY
  \tkzDrawXY
\end{tikzpicture}
\end{tkzexample}

\subsubsection{No graduations at the origin }

\begin{tkzexample}[latex=7cm,small]
\begin{tikzpicture}
  \tkzInit[xmin=2,ymin=2,xmax=4,ymax=4]
  \tkzLabelX[orig]    \tkzLabelY[orig]
  \tkzDrawXY
\end{tikzpicture}
\end{tkzexample}
%<--------------------------------------------------------------------->
%                  tkzAxeX
%<--------------------------------------------------------------------->
\subsection{\tkzcname{tkzAxeX}}
\begin{NewMacroBox}{tkzAxeX}{\oarg{local options}}%
This macro allows you to draw the abscissa axis with default ticks as well as the graduations. It combines the two macros \tkzcname{tkzDrawX} and \tkzcname{tkzLabelX}. It should only be used in simple cases. 

\medskip
\begin{tabular}{lll}%
\toprule
options  & default & definition   \\
\midrule
\TOline{label} {$x$}{label name}
\TOline{trig} {0}{if <>0, graduations are multiples of $pi$/trig}
\TOline{frac} {0}{if <>0, graduations are multiples of 1/frac}
\TOline{swap} {false}{allows you to run \tkzcname{tkzLabelX} before \tkzcname{tkzDrawX}}
\bottomrule
\end{tabular}

The option \tkzname{text} defines the color of the graduations.
\end{NewMacroBox}

\subsubsection{Example with \tkzcname{tkzAxeX}}
\begin{tkzexample}[latex=7cm,small]
\begin{tikzpicture}
   \tkzInit[xmax=0.5,xstep=0.1,ymax=1]
   \tkzGrid
   \tkzAxeX[text=blue]
\end{tikzpicture}
\end{tkzexample}

\subsubsection{Use of \tkzname{pi} and \tkzcname{tkzAxeX}}
\begin{tkzexample}[latex=5cm,small]
\begin{tikzpicture}
  \tkzInit[xmax=4,ymax=3.5]
  \let\tkzmathstyle\displaystyle
  \tkzLabelX[orig  = false, frac  = 4,below = 10pt]
  \tkzDrawX[label = $t$]
  \tkzAxeY[trig=2]
\end{tikzpicture}
\end{tkzexample}


\subsubsection{Option \tkzname{frac} and \tkzname{trig}}
In this example, we position the $t$ label as well as the graduations.  \tkzcname{below=10pt} is used to place the graduations underneath.
\begin{tkzexample}[latex=5cm,small]
\begin{tikzpicture}
  \tkzInit[xmax=9,xstep=3,ymax=3.5]
  \tkzLabelX[below=10pt,orig=false,frac=3]
  \tkzDrawX[label = $t$]
  \tkzAxeY[trig=2]
\end{tikzpicture}
\end{tkzexample}

%<--------------------------------------------------------------------->
%                  tkzDrawY
%<--------------------------------------------------------------------->
\subsection{\tkzcname{tkzDrawY}}
\begin{NewMacroBox}{tkzDrawY}{\oarg{local options}}%
This macro allows you to draw the ordinate axis with default ticks.
The options are those of \TIKZ\ plus the following ones:

\medskip
\begin{tabular}{lll}%
\toprule
options  & default & definition   \\
\midrule
\TOline{color}      {black} {color of axis and ticks}
\TOline{noticks}    {false} {no ticks on the axis}
\TOline{up space}   {0.5 cm} {top axis extension}
\TOline{down space} {0 cm}{axis extension down}
\TOline{label}      {$x$}{label name}
\TOline{trig}    {0}{if <>0, graduations are multiples of $pi$/trig "trig is an integer" }
\TOline{tickwd}     {0.8pt}{tick's thickness}
\TOline{ticklt}     {1pt}{height of the tick above the axis}
\TOline{tickrt}     {1pt}{above-axis tick depth}
\end{tabular}
\end{NewMacroBox}

\subsection{\tkzcname{tkzLabelY}}
\begin{NewMacroBox}{tkzLabelY}{\oarg{local options}}%
This macro allows you to draw the abscissa axis with default ticks.
The options are those of \TIKZ\ plus the following ones:

\medskip
\begin{tabular}{lll}%
\toprule
options  & default & definition   \\
\midrule
\TOline{color}  {black} {graduation color}
\TOline{frac} {0}{if <>0, graduations are multiples of $1$/frac "frac is an integer"}
\TOline{font} {\BS textstyle} {graduation size.}
\TOline{step}  {1} {interval between graduations}
\bottomrule
\end{tabular}

{\tkzname{frac} is a integer that can be changed to fractional or trigonometric writing.}
\end{NewMacroBox}

%<--------------------------------------------------------------------->
%                  tkzAxeY
%<--------------------------------------------------------------------->
\subsection{\tkzcname{tkzAxeY}}
\begin{NewMacroBox}{tkzAxeY}{\oarg{local options}}%
This macro combines the two macros:
\tkzcname{tkzDrawY} \tkzcname{tkzLabelY}
See \tkzcname{tkzAxeX} for options.
\end{NewMacroBox}
%<--------------------------------------------------------------------->
%                  tkzAxeXY
%<--------------------------------------------------------------------->
\subsection{\tkzcname{tkzAxeXY}}
\begin{NewMacroBox}{tkzAxeXY}{\oarg{local options}}%
This macro combines the four macros:
\tkzcname{tkzDrawX}\tkzcname{tkzDrawY} \tkzcname{tkzLabelX}\tkzcname{tkzLabelY}

It is necessary to use common options as in the example below, but this means that the same options are applied to both macros. Thus it is not possible to change \tkzname{label}.
\end{NewMacroBox}

\subsubsection{Colour of axes, graduations}

\begin{tkzexample}[latex=6cm]
\begin{tikzpicture}
  \tkzInit[xmin=-1,xmax=4,ymin=-1,ymax=3]
  \tkzAxeXY[label={},text=blue]
\end{tikzpicture}
\end{tkzexample}

\subsubsection{Option \tkzname{label=\{\}}}

\begin{tkzexample}[latex=6cm,small]
\begin{tikzpicture}
  \tkzInit[xmin=-1,xmax=4,ymin=-1,ymax=2]
  \tkzAxeXY[label={},text=blue,trig=2]
\end{tikzpicture}
\end{tkzexample}

\subsubsection{Option \tkzname{swap}}
\begin{tkzexample}[latex=6cm,small]
\begin{tikzpicture}
\tkzInit[xmin=-2,xmax=2,ymin=-2,ymax=2]
\tkzAxeXY[label={},swap]
\end{tikzpicture}
\end{tkzexample}
%<--------------------------------------------------------------------->
%                  tkzDrawXY
%<--------------------------------------------------------------------->
\subsection{\tkzcname{tkzDrawXY}}
\begin{NewMacroBox}{tkzDrawXY}{\oarg{local options}}%
This macro combines the two macros: \tkzcname{tkzDrawX}\tkzcname{tkzDrawY}.
It is necessary to use common options as in the example below.
\end{NewMacroBox}

\subsubsection{Common colour and empty labels}
\begin{tkzexample}[latex=6cm,small]
\begin{tikzpicture}
   \tkzInit[xmin=-1,xmax=4,ymin=-1,ymax=1]
   \tkzDrawXY[label={},color=red]
\end{tikzpicture}
\end{tkzexample}

\subsubsection{Two trigonometric axes}
\begin{tkzexample}[latex=6cm,small]
\begin{tikzpicture}
  \tkzInit[xmin=-1,xmax=4,ymin=-1,ymax=1]
  \tkzDrawXY[label={},color=red,trig=4]
\end{tikzpicture}
\end{tkzexample}
%<--------------------------------------------------------------------->
%                  tkzLabelXY
%<--------------------------------------------------------------------->
\subsection{\tkzcname{tkzLabelXY}}
\begin{NewMacroBox}{tkzLabelXY}{\oarg{local options}}%
This macro combines the two macros:

 \tkzcname{tkzLabelX}\tkzcname{tkzLabelY}

It is necessary to use common options as in the example below.
\end{NewMacroBox}

\subsubsection{}
\begin{tkzexample}[latex=6cm,small]
\begin{tikzpicture}
  \tkzInit[xmin=-1,xmax=4,ymin=-1,ymax=1]
  \tkzDrawXY[label={},color=red]
  \tkzLabelXY[text=blue]
\end{tikzpicture}
\end{tkzexample}

%<--------------------------------------------------------------------->
%                  tkzSetUpAxis
%<--------------------------------------------------------------------->
\subsection{Changing values by axis default}

\begin{NewMacroBox}{tkzSetUpAxis}{\oarg{local options}}%
\begin{tabular}{lll}%
options  & default & definition   \\
\midrule
\TOline{line width}{|0.4pt|}{line width defines the width of the line}
\TOline{tickwd}{|0.8pt|}{tick thickness  }
\TOline{ticka}{|1pt|}{right side or above the tick  }
\TOline{tickb}{|1pt|}{left side or below the tick  }
\TOline{font}{|\tkzcname{textstyle}|}{graduation size.}
\end{tabular}
\end{NewMacroBox}

\subsubsection{Changing the default axes}
\begin{tkzexample}[latex=5cm,small]
\begin{tikzpicture}[scale=1]
 \tkzInit[ymax=2,xmax=4]
 \tkzSetUpAxis[line width=1pt,tickwd=1pt,ticka=3pt, tickb=0pt]
 \tkzAxeXY
\end{tikzpicture}
\end{tkzexample}

You have to run \tkzcname{tkzSetUpAxis} again to retrieve the default values.

\medskip
\begin{tkzltxexample}[small]
\tkzSetUpAxis[line width=1pt,tickwd=1pt,ticka=2pt,tickb=2pt]
\end{tkzltxexample}

\tkzSetUpAxis[line width=1pt,tickwd=1pt,ticka=2pt,tickb=2pt]

\endinput
