Créer des profils du manteau neigeux - retour accueil
git clone git://bebou.netlib.re/gelinive
Log | Files | Refs | README |
commit fc56838503cb07441d73a08c1e4ecfa1f7a96928 parent 8262e3b6d81993f657fb0adfb59f3bdef1b4b3df Auterice: Arthur Pons <arthur.pons@unistra.fr> Date: Wed, 13 Mar 2024 18:06:56 +0100 Des commentaires Idées à venir : 1. utiliser le style boxxy pour faire des histogrammes verticaux. Si ça fonctionne on pourrait possiblement retirer la dépendance à imagemagick. 2. Sortir makehistodata du script général pour le mettre dans le script gnuplot. L'avantage serait que le format échangé entre gelinive et geliniveplot serait celui que 'on voudrait potentiellement sauvegarder. On pourrait donc, si on le souhaite simplement appeler geliniveplot sur une base de donnée déjà créée au bon format plutôt que de forcément avoir recours à gelinive pour repasser dans la makehistodata moulinette. Ca demande soit de coder dans gnuplot, ce que j'aime pas trop, ou de sortir makehistodata comme un script à par entière (ce qui était le cas au début). Je pense que c'est un niveau d'atomisation trop élevé, on l'utiliserait pour à priori rien d'autre. Donc plutôt la version intégrée à gnuplot. Diffstat:
M | gelinivetest | | | 36 | +++++++++++++++++++++++++++--------- |
1 file changed, 27 insertions(+), 9 deletions(-)
diff --git a/gelinivetest b/gelinivetest @@ -28,6 +28,23 @@ en intégrant une vraie gestion des arguments avec des options. exit 0 fi +# Rend les données contenues dans le profil plus faicle à afficher avec gnuplot +# +# En gros : +# +# 1 80 -> 80 1 +# 2 37 79 1 +# 3 21 ... +# 4 2 38 1 +# 37 2 +# ... +# 22 2 +# 21 3 +# ... +# 3 3 +# 2 4 +# ... +# makehistodata() { sed '$ a\ 0 0 0 0 0 0 0 0 @@ -41,6 +58,7 @@ awk '{ tr '/' '1' } +# Calcule les variables R e et H et les ajoute à la fin de change ligne calc_R_e_H() { awk -vH="$1" -vOFS='\t' ' { @@ -52,14 +70,14 @@ volde=olde;olde=e }' } -tempdir=$(mktemp -d);trap "rm -rf $tempdir" EXIT -cat $1 > $tempdir/profil +tempdir=$(mktemp -d);trap "rm -rf $tempdir" EXIT # Dossier temporaire dans lequel bosser +cat $1 > $tempdir/profil # On stocke les données dans un fichier -topheight=$(tail -n1 $tempdir/profil | cut -f5) -< $tempdir/profil calc_R_e_H $topheight | - tee "$3" 2> /dev/null | - makehistodata | - tac | - ./geliniveplot "$4" "$2" 2> /dev/null | - convert - -rotate -90 - +topheight=$(tail -n1 $tempdir/profil | cut -f5) # On récupère le dernier champ de la dernière ligne +< $tempdir/profil calc_R_e_H $topheight | # On met dans stdin de la fonction les données, en argument la hauteur + tee "$3" 2> /dev/null | # On stocke le résultat dans un fichier, si l'argument existe + makehistodata | # On construit les données pour l'histogramme + sed '1!G;h;$!d' | # tac, imprime du bas vers le haut + ./geliniveplot "$4" "$2" 2> /dev/null | # On créé le graph, premier arg = fichier temp, second = titre + convert - -rotate -90 - # On tourne l'image pour qu'elle soit en format portrait