% main=manual.tex

\section{Drawing axes and plots}
\subsection{A first plot}
Plotting is done using \lstinline|\begin{axis} ... \addplot ...; \end{axis}|:

\begin{figure}
\centering
\begin{tikzpicture}
	\begin{axis}[
		xlabel=Cost,
		ylabel=Error]
	\addplot[color=red,mark=x] plot coordinates {
		(2,-2.8559703)
		(3,-3.5301677)
		(4,-4.3050655)
		(5,-5.1413136)
		(6,-6.0322865)
		(7,-6.9675052)
		(8,-7.9377747)
		(9,-9.9717663)
	};
	\end{axis}
\end{tikzpicture}

\caption{An example for a normal plot. The coordinates are specified using the \Tikz-syntax ``\texttt{plot coordinates}'', optional labels can be provided with the ``\texttt{xlabel}'' and ``\texttt{ylabel}'' arguments.}
\label{fig:firstplot}
\end{figure}

\begin{lstlisting}
\begin{tikzpicture}
	\begin{axis}[
		xlabel=Cost,
		ylabel=Error]
	\addplot[color=red,mark=x] plot coordinates {
		(2,-2.8559703)
		(3,-3.5301677)
		(4,-4.3050655)
		(5,-5.1413136)
		(6,-6.0322865)
		(7,-6.9675052)
		(8,-7.9377747)
		(9,-9.9717663)
	};
	\end{axis}
\end{tikzpicture}
\end{lstlisting}
The outcome of this listing is shown in figure~\ref{fig:firstplot}. The \lstinline!plot coordinates! command is one of the \Tikz\ ways to create plots, see~\cite[Section~16]{tikz}. All other commands are used to create the axis.

\subsection{Two plots in the same axis}
Figure~\ref{fig:twoplots} shows the result of placing multiple~\lstinline!\addplot!-commands into a single axis:
\begin{figure}
\centering
\begin{tikzpicture}
	\begin{axis}[
		xlabel=Cost,
		ylabel=Error]
	\addplot[color=red,mark=x] plot coordinates {
		(2,-2.8559703)
		(3,-3.5301677)
		(4,-4.3050655)
		(5,-5.1413136)
		(6,-6.0322865)
		(7,-6.9675052)
		(8,-7.9377747)
		(9,-9.9717663)
		};
	\addplot[color=blue,mark=*] plot coordinates {
		(2,-2.83)
		(3,-3.5167)
		(4,-4.4050)
		(5,-5.137)
		(6,-6.4)
		(7,-6.6750)
		(8,-6.9377)
		(9,-6.9717)
		};
	\legend{Case 1\\Case 2\\}
	\end{axis}
\end{tikzpicture}

\caption{Two plots in the same axis. A legend can be generated using the \texttt{\textbackslash legend{}}-command.}
\label{fig:twoplots}
\end{figure}

\begin{lstlisting}
\begin{tikzpicture}
	\begin{axis}[
		xlabel=Cost,
		ylabel=Error]
	\addplot[color=red,mark=x] plot coordinates {
		(2,-2.8559703)
		(3,-3.5301677)
		(4,-4.3050655)
		(5,-5.1413136)
		(6,-6.0322865)
		(7,-6.9675052)
		(8,-7.9377747)
		(9,-9.9717663)
	};
	\addplot[color=blue,mark=*] plot coordinates {
		(2,-2.83)
		(3,-3.5167)
		(4,-4.4050)
		(5,-5.137)
		(6,-6.4)
		(7,-6.6750)
		(8,-6.9377)
		(9,-6.9717)
	};
	\legend{Case 1\\Case 2\\}
	\end{axis}
\end{tikzpicture}
\end{lstlisting}

\subsection{Logarithmic plots}
Logarithmic plots show $\log x$ versus $\log y$  (or just one logarithmic axis) as in figure~\ref{fig:firstloglog}. \PGFPlots\ always uses the natural logarithm, i.e. basis $e\approx2.718$. Now, the axis description also contains minor ticks and the labels are placed at $10^i$.
\begin{figure}
\centering
	\begin{tikzpicture}
	\begin{loglogaxis}[xlabel=Cost,ylabel=Gain]
	\addplot[color=red,mark=x] plot coordinates {
		(10,100)
		(20,150)
		(40,225)
		(80,340)
		(160,510)
		(320,765)
		(640,1150)
	};
	\end{loglogaxis}
	\end{tikzpicture}

\caption{A double--logarithmic plot.}
\label{fig:firstloglog}
\end{figure}
\begin{lstlisting}
\begin{tikzpicture}
\begin{loglogaxis}[xlabel=Cost,ylabel=Gain]
\addplot[color=red,mark=x] plot coordinates {
	(10,100)
	(20,150)
	(40,225)
	(80,340)
	(160,510)
	(320,765)
	(640,1150)
};
\end{loglogaxis}
\end{tikzpicture}
\end{lstlisting}
A common application is to visualise scientific data. This is often provided in the format $1.42\cdot10^4$, usually written as 1.42e+04. An example is shown in the following listing and in figure~\ref{fig:example:sci:loglog}.
\begin{figure}
\centering
\begin{tikzpicture}
	\begin{loglogaxis}[
		xlabel=Cost,
		ylabel=Error]
	\addplot[color=red,mark=x] plot coordinates {
		(5,		8.31160034e-02)
		(17,	2.54685628e-02)
		(49,	7.40715288e-03)
		(129,	2.10192154e-03)
		(321,	5.87352989e-04)
		(769,	1.62269942e-04)
		(1793,	4.44248889e-05)
		(4097,	1.20714122e-05)
		(9217,	3.26101452e-06)
	};

	\addplot[color=blue,mark=*] plot coordinates {
		(7,		8.47178381e-02)
		(31,	3.04409349e-02)
		(111,	1.02214539e-02)
		(351,	3.30346265e-03)
		(1023,	1.03886535e-03)
		(2815,	3.19646457e-04)
		(7423,	9.65789766e-05)
		(18943,	2.87339125e-05)
		(47103,	8.43749881e-06)
	};
	\legend{Case 1\\Case 2\\}
	\end{loglogaxis}
\end{tikzpicture}

\caption{A double--logarithmic plot using scientific notation.}
\label{fig:example:sci:loglog}
\end{figure}

\begin{lstlisting}
\begin{tikzpicture}
	\begin{loglogaxis}[
		xlabel=Cost,
		ylabel=Error]
	\addplot[color=red,mark=x] plot coordinates {
		(5,		8.31160034e-02)
		(17,	2.54685628e-02)
		(49,	7.40715288e-03)
		(129,	2.10192154e-03)
		(321,	5.87352989e-04)
		(769,	1.62269942e-04)
		(1793,	4.44248889e-05)
		(4097,	1.20714122e-05)
		(9217,	3.26101452e-06)
	};

	\addplot[color=blue,mark=*] plot coordinates {
		(7,		8.47178381e-02)
		(31,	3.04409349e-02)
		(111,	1.02214539e-02)
		(351,	3.30346265e-03)
		(1023,	1.03886535e-03)
		(2815,	3.19646457e-04)
		(7423,	9.65789766e-05)
		(18943,	2.87339125e-05)
		(47103,	8.43749881e-06)
	};
	\legend{Case 1\\Case 2\\}
	\end{loglogaxis}
\end{tikzpicture}
\end{lstlisting}
Besided the environment ``\texttt{loglogaxis}'' you can use
\begin{itemize}
	\item \lstinline!\begin{axis}...\end{axis}! for normal plots,
	\item \lstinline!\begin{semilogxaxis}...\end{semilogxaxis}! for plots which have a normal~$y$ axis and a logarithmic~$x$ axis,
	\item \lstinline!\begin{semilogyaxis}...\end{semilogyaxis}! the same with $x$~and~$y$ switched,
	\item \lstinline!\begin{loglogaxis}...\end{loglogaxis}! for double--logarithmic plots.
\end{itemize}
You can also use
\begin{lstlisting}
	\begin{axis}[xmode=normal,ymode=log]
	...
	\end{axis}
\end{lstlisting}
which is the same as \lstinline!\begin{semilogyaxis}...\end{semilogyaxis}!. Example:
\begin{lstlisting}
\begin{tikzpicture}
	\begin{semilogyaxis}[xlabel=Index,ylabel=Value]
	\addplot[color=blue,mark=*] plot coordinates {
		(1,8)
		(2,16)
		(3,32)
		(4,64)
		(5,128)
		(6,256)
		(7,512)
	};
	\end{semilogyaxis}
\end{tikzpicture}
\end{lstlisting}
see figure~\ref{fig:semilogy}.
\begin{figure}
\centering
\begin{tikzpicture}
	\begin{semilogyaxis}[xlabel=Index,ylabel=Value]
	\addplot[color=blue,mark=*] plot coordinates {
		(1,8)
		(2,16)
		(3,32)
		(4,64)
		(5,128)
		(6,256)
		(7,512)
	};
	\end{semilogyaxis}
\end{tikzpicture}

\caption{A semi--logarithmic plot.}
\label{fig:semilogy}
\end{figure}

\subsection{Cycling line styles}
You can skip the style arguments for \lstinline!\addplot[...]! or \lstinline!\addplot[...]! to determine plot specifications from a predefined list:
\begin{figure}
\centering
\begin{tikzpicture}
	\begin{loglogaxis}[
		xlabel={Degrees of freedom},
		ylabel={$L_2$ Error}
	]
	\addplot plot coordinates {
		(5,		8.312e-02)
		(17,	2.547e-02)
		(49,	7.407e-03)
		(129,	2.102e-03)
		(321,	5.874e-04)
		(769,	1.623e-04)
		(1793,	4.442e-05)
		(4097,	1.207e-05)
		(9217,	3.261e-06)
	};

	\addplot plot coordinates {
		(7,		8.472e-02)
		(31,	3.044e-02)
		(111,	1.022e-02)
		(351,	3.303e-03)
		(1023,	1.039e-03)
		(2815,	3.196e-04)
		(7423,	9.658e-05)
		(18943,	2.873e-05)
		(47103,	8.437e-06)
	};

	\addplot plot coordinates {
		(9,		7.881e-02)
		(49,	3.243e-02)
		(209,	1.232e-02)
		(769,	4.454e-03)
		(2561,	1.551e-03)
		(7937,	5.236e-04)
		(23297,	1.723e-04)
		(65537,	5.545e-05)
		(178177,	1.751e-05)
	};

	\addplot plot coordinates {
		(11,	6.887e-02)
		(71,	3.177e-02)
		(351,	1.341e-02)
		(1471,	5.334e-03)
		(5503,	2.027e-03)
		(18943,	7.415e-04)
		(61183,	2.628e-04)
		(187903,	9.063e-05)
		(553983,	3.053e-05)
	};

	\addplot plot coordinates {
		(13,	5.755e-02)
		(97,	2.925e-02)
		(545,	1.351e-02)
		(2561,	5.842e-03)
		(10625,	2.397e-03)
		(40193,	9.414e-04)
		(141569,	3.564e-04)
		(471041,	1.308e-04)
		(1496065,	4.670e-05)
	};
	\legend{$d=2$\\$d=3$\\$d=4$\\$d=5$\\$d=6$\\}
	\end{loglogaxis}
\end{tikzpicture}

\caption{Predefined line/marker combinations.}
\label{fig:predefined:plotspec}
\end{figure}

\begin{lstlisting}
\begin{tikzpicture}
	\begin{loglogaxis}[
		xlabel={Degrees of freedom},
		ylabel={$L_2$ Error}
	]
	\addplot plot coordinates {
		(5,		8.312e-02)
		(17,	2.547e-02)
		(49,	7.407e-03)
		(129,	2.102e-03)
		(321,	5.874e-04)
		(769,	1.623e-04)
		(1793,	4.442e-05)
		(4097,	1.207e-05)
		(9217,	3.261e-06)
	};

	\addplot plot coordinates {
		(7,		8.472e-02)
		(31,	3.044e-02)
		(111,	1.022e-02)
		(351,	3.303e-03)
		(1023,	1.039e-03)
		(2815,	3.196e-04)
		(7423,	9.658e-05)
		(18943,	2.873e-05)
		(47103,	8.437e-06)
	};

	\addplot plot coordinates {
		(9,		7.881e-02)
		(49,	3.243e-02)
		(209,	1.232e-02)
		(769,	4.454e-03)
		(2561,	1.551e-03)
		(7937,	5.236e-04)
		(23297,	1.723e-04)
		(65537,	5.545e-05)
		(178177,	1.751e-05)
	};

	\addplot plot coordinates {
		(11,	6.887e-02)
		(71,	3.177e-02)
		(351,	1.341e-02)
		(1471,	5.334e-03)
		(5503,	2.027e-03)
		(18943,	7.415e-04)
		(61183,	2.628e-04)
		(187903,	9.063e-05)
		(553983,	3.053e-05)
	};

	\addplot plot coordinates {
		(13,	5.755e-02)
		(97,	2.925e-02)
		(545,	1.351e-02)
		(2561,	5.842e-03)
		(10625,	2.397e-03)
		(40193,	9.414e-04)
		(141569,	3.564e-04)
		(471041,	1.308e-04)
		(1496065,	4.670e-05)
	};
	\legend{$d=2$\\$d=3$\\$d=4$\\$d=5$\\$d=6$\\}
	\end{loglogaxis}
\end{tikzpicture}
\end{lstlisting}

The result is shown in figure~\ref{fig:predefined:plotspec}. You can modify the list, see the reference below.

\subsection{Scaling plots}
You can use any of the \Tikz\ options to modify the appearance. For example the effect of the ``\texttt{scale}'' transformation is shown in figures \ref{fig:scale1}~and~\ref{fig:scale2}.

\begin{figure}
\begin{minipage}[c]{7.1cm}%
\begin{tikzpicture}[scale=0.8]
	\begin{loglogaxis}[
		xlabel={Degrees of freedom},
		ylabel={$L_2$ Error}
	]
	\addplot plot coordinates {
		(5,		8.312e-02)
		(17,	2.547e-02)
		(49,	7.407e-03)
		(129,	2.102e-03)
		(321,	5.874e-04)
		(769,	1.623e-04)
		(1793,	4.442e-05)
		(4097,	1.207e-05)
		(9217,	3.261e-06)
	};

	\addplot plot coordinates {
		(7,		8.472e-02)
		(31,	3.044e-02)
		(111,	1.022e-02)
		(351,	3.303e-03)
		(1023,	1.039e-03)
		(2815,	3.196e-04)
		(7423,	9.658e-05)
		(18943,	2.873e-05)
		(47103,	8.437e-06)
	};

	\addplot plot coordinates {
		(9,		7.881e-02)
		(49,	3.243e-02)
		(209,	1.232e-02)
		(769,	4.454e-03)
		(2561,	1.551e-03)
		(7937,	5.236e-04)
		(23297,	1.723e-04)
		(65537,	5.545e-05)
		(178177,	1.751e-05)
	};

	\addplot plot coordinates {
		(11,	6.887e-02)
		(71,	3.177e-02)
		(351,	1.341e-02)
		(1471,	5.334e-03)
		(5503,	2.027e-03)
		(18943,	7.415e-04)
		(61183,	2.628e-04)
		(187903,	9.063e-05)
		(553983,	3.053e-05)
	};

	\addplot plot coordinates {
		(13,	5.755e-02)
		(97,	2.925e-02)
		(545,	1.351e-02)
		(2561,	5.842e-03)
		(10625,	2.397e-03)
		(40193,	9.414e-04)
		(141569,	3.564e-04)
		(471041,	1.308e-04)
		(1496065,	4.670e-05)
	};
	\legend{$d=2$\\$d=3$\\$d=4$\\$d=5$\\$d=6$\\}
	\end{loglogaxis}
\end{tikzpicture}
\end{minipage}%
\hfill
\begin{minipage}[c]{8cm}%
\begin{lstlisting}
\begin{tikzpicture}[scale=0.8]
\begin{loglogaxis}
...
\end{loglogaxis}
\end{tikzpicture}
\end{lstlisting}
\end{minipage}
\caption{An example of a scaled plot.}
\label{fig:scale1}
\end{figure}

\begin{figure}
\centering
\begin{tikzpicture}[scale=1.3]
	\begin{loglogaxis}[
		xlabel={Degrees of freedom},
		ylabel={$L_2$ Error}
	]
	\addplot plot coordinates {
		(5,		8.312e-02)
		(17,	2.547e-02)
		(49,	7.407e-03)
		(129,	2.102e-03)
		(321,	5.874e-04)
		(769,	1.623e-04)
		(1793,	4.442e-05)
		(4097,	1.207e-05)
		(9217,	3.261e-06)
	};

	\addplot plot coordinates {
		(7,		8.472e-02)
		(31,	3.044e-02)
		(111,	1.022e-02)
		(351,	3.303e-03)
		(1023,	1.039e-03)
		(2815,	3.196e-04)
		(7423,	9.658e-05)
		(18943,	2.873e-05)
		(47103,	8.437e-06)
	};

	\addplot plot coordinates {
		(9,		7.881e-02)
		(49,	3.243e-02)
		(209,	1.232e-02)
		(769,	4.454e-03)
		(2561,	1.551e-03)
		(7937,	5.236e-04)
		(23297,	1.723e-04)
		(65537,	5.545e-05)
		(178177,	1.751e-05)
	};

	\addplot plot coordinates {
		(11,	6.887e-02)
		(71,	3.177e-02)
		(351,	1.341e-02)
		(1471,	5.334e-03)
		(5503,	2.027e-03)
		(18943,	7.415e-04)
		(61183,	2.628e-04)
		(187903,	9.063e-05)
		(553983,	3.053e-05)
	};

	\addplot plot coordinates {
		(13,	5.755e-02)
		(97,	2.925e-02)
		(545,	1.351e-02)
		(2561,	5.842e-03)
		(10625,	2.397e-03)
		(40193,	9.414e-04)
		(141569,	3.564e-04)
		(471041,	1.308e-04)
		(1496065,	4.670e-05)
	};
	\legend{$d=2$\\$d=3$\\$d=4$\\$d=5$\\$d=6$\\}
	\end{loglogaxis}
\end{tikzpicture}

\begin{lstlisting}
			\begin{tikzpicture}[scale=1.3]
			\begin{loglogaxis}
			...
			\end{loglogaxis}
			\end{tikzpicture}
\end{lstlisting}
\caption{The effect of a ``\texttt{scale}'' transformation by~$30\%$.}
\label{fig:scale2}
\end{figure}

You can scale plots either using the \texttt{width=5cm} and/or \texttt{height=3cm} options or by setting the dimension for each unit coordinate as is shown in figure~\ref{fig:scale:units}.

More examples can be found in section~\ref{sec:examples}.

\begin{figure}
\centering
\begin{tikzpicture}
	\begin{loglogaxis}[%
		x=0.4cm,y=0.7cm,
		xlabel={Degrees of freedom},
		ylabel={$L_2$ Error}
	]
	\addplot plot coordinates {
		(5,		8.312e-02)
		(17,	2.547e-02)
		(49,	7.407e-03)
		(129,	2.102e-03)
		(321,	5.874e-04)
		(769,	1.623e-04)
		(1793,	4.442e-05)
		(4097,	1.207e-05)
		(9217,	3.261e-06)
	};

	\addplot plot coordinates {
		(7,		8.472e-02)
		(31,	3.044e-02)
		(111,	1.022e-02)
		(351,	3.303e-03)
		(1023,	1.039e-03)
		(2815,	3.196e-04)
		(7423,	9.658e-05)
		(18943,	2.873e-05)
		(47103,	8.437e-06)
	};

	\addplot plot coordinates {
		(9,		7.881e-02)
		(49,	3.243e-02)
		(209,	1.232e-02)
		(769,	4.454e-03)
		(2561,	1.551e-03)
		(7937,	5.236e-04)
		(23297,	1.723e-04)
		(65537,	5.545e-05)
		(178177,	1.751e-05)
	};

	\addplot plot coordinates {
		(11,	6.887e-02)
		(71,	3.177e-02)
		(351,	1.341e-02)
		(1471,	5.334e-03)
		(5503,	2.027e-03)
		(18943,	7.415e-04)
		(61183,	2.628e-04)
		(187903,	9.063e-05)
		(553983,	3.053e-05)
	};

	\addplot plot coordinates {
		(13,	5.755e-02)
		(97,	2.925e-02)
		(545,	1.351e-02)
		(2561,	5.842e-03)
		(10625,	2.397e-03)
		(40193,	9.414e-04)
		(141569,	3.564e-04)
		(471041,	1.308e-04)
		(1496065,	4.670e-05)
	};
	\legend{$d=2$\\$d=3$\\$d=4$\\$d=5$\\$d=6$\\}
	\end{loglogaxis}
\end{tikzpicture}%

\begin{lstlisting}
		\begin{tikzpicture}
		\begin{loglogaxis}[x=0.4cm,y=0.7cm,...]
		...
		\end{loglogaxis}
		\end{tikzpicture}
\end{lstlisting}
\caption{The result of setting the unit vector for~$x$ to~0.4cm and for~$y$ to~0.7cm.}
\label{fig:scale:units}
\end{figure}

