%
%	nouveau 27 septembre 2020
%
\chapter{Gnuplot}
\index{Gnuplot}\label{chap:gnuplot}

Gnuplot - an interactive plotting program

There is an on-line demo collection at http://gnuplot.info/demo

\begin{verbatim}
gnuplot> splot "cam.indoor" using 2:4:3, "cam.indoor" using 5:7:6
\end{verbatim}

%  -------------------------------------------------------------------

\section{Exemple : le phytotron}
\index{phytotron}

Un exemple réel, issu d'un projet d'élevage d'algues
bio-luminescentes dans un frigo bricolé par une jeune stagiaire
fort sympathique.

Le fichier des données contient cinq champs séparés par des espaces
ou des tabulations.
Le premier champ est
un \textsl{timestamp} exprimé en secondes depuis l'\textsl{epoch},
et les quatre suivants sont des températures en degrés Celsius.

\begin{verbatim}
#!/bin/bash
#                       THIS IS A KLUDGE 

nbsamp=3000     # nombre d'echantillon 

if [ $# -eq 1 ]; then
        nbsamp=$1
fi

DATAFILE="serial/foo.dat"
IMAGE="graphe.png"
TMPFILE="/dev/shm/tmpdata"
tail -${nbsamp} < ${DATAFILE} > ${TMPFILE}

gnuplot << __EOC__
set term png    size 1600,800
set output      "${IMAGE}"
set ytics       2
set xtics
set grid        front
set title       "* Temperatures du Phytotron *"
set xdata       time
set timefmt     "%s"
set format x    "%b %d\n%H:%M"
set yrange [ 10.0 : 40.0 ]
plot    "${TMPFILE}" using 1:3 title " inside" with lines, \
        "${TMPFILE}" using 1:4 title "ambient" with lines
__EOC__
\end{verbatim}

\textsf{Bon, un de ces jours, il faudrait que je ressorte des archives
l'enregistrement d'un été dans le dd2, pour que vous puissiez voir
le résultat de ce script en « pour de vrai ».}

%  -------------------------------------------------------------------

\section{Paramétrer la plume}

%  -------------------------------------------------------------------

\section{La 3D avec \texttt{splot}} \index{splot}

gnuplot> help set view

 The `set view` command sets the viewing angle for `splot`s.  It controls how
 the 3D coordinates of the plot are mapped into the 2D screen space.  It
 provides controls for both rotation and scaling of the plotted data, but
 supports orthographic projections only.  It supports both 3D projection or
 orthogonal 2D projection into a 2D plot-like map.



%  -------------------------------------------------------------------

\section{Questions}

Supposons que nous ayons sous le coude un fichier contenant 
\emph{six cent mille} lignes de données, qui ne représentent que
trente secondes d'enregistrement d'une valeur de Virgo\index{Virgo},
comment faire pour plotter les échantillons $N$ à $N+42$ ?

for example \texttt{plot ’a.dat’ every 2}.


%  -------------------------------------------------------------------