TetaTricks/chap/gnuplot.tex

79 lines
2.0 KiB
TeX
Raw Normal View History

2020-09-29 10:41:53 +02:00
%
% nouveau 27 septembre 2020
%
\chapter{Gnuplot}
2020-11-13 01:35:31 +01:00
\index{Gnuplot}\label{chap:gnuplot}
2020-09-29 10:41:53 +02:00
2020-11-25 14:24:19 +01:00
Gnuplot - an interactive plotting program
2021-06-27 04:32:47 +02:00
There is an on-line demo collection at http://gnuplot.info/demo
2021-09-16 18:53:40 +02:00
\begin{verbatim}
gnuplot> splot "cam.indoor" using 2:4:3, "cam.indoor" using 5:7:6
\end{verbatim}
2021-06-27 04:32:47 +02:00
% -------------------------------------------------------------------
2020-09-29 10:41:53 +02:00
\section{Exemple : le phytotron}
\index{phytotron}
2021-09-16 18:53:40 +02:00
Un exemple réel, issu d'un projet d'élevage d'algues
bio-luminescentes dans un frigo bricolé.
Le fichier des données contient cinq champs séparés par des blancs.
Le premier est
un \textsl{timestamp} exprimé en secondes depuis l'\textsl{epoch},
et les quatre suivants sont des températures en degrés Celsius.
2020-09-29 10:41:53 +02:00
\begin{verbatim}
#!/bin/bash
2021-06-27 04:32:47 +02:00
# THIS IS A KLUDGE
2020-09-29 10:41:53 +02:00
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__
display ${IMAGE} &
\end{verbatim}
2021-09-16 18:53:40 +02:00
\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ésulate de ce script en « pour de vrai ».}
2021-06-27 04:32:47 +02:00
% -------------------------------------------------------------------
\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$ ?
% -------------------------------------------------------------------
2020-09-29 10:41:53 +02:00