Différence entre les versions 5 et version actuelle
Résumé : Exposé des commandes pour tracer des vues en 3D avec Gnuplot
Pas de diff disponible.$ cat grid.dat 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 3 4 5 5 5 5 5 5 5 5 5 5 5 5 4 3 2 3 4 5 5 5 5 5 5 5 5 5 5 4 3 2 1 2 3 4 5 5 5 5 5 5 5 5 4 3 2 1 0 1 2 3 4 5 5 5 5 5 5 5 5 4 3 2 1 2 3 4 5 5 5 5 5 5 5 5 5 5 4 3 2 3 4 5 6 5 5 5 5 5 5 5 5 5 5 4 3 4 5 6 7 6 5 5 5 5 5 5 5 5 5 5 4 5 6 7 8 7 6 5 5 5 5 5 5 5 5 5 5 6 7 8 9 8 7 6 5 5 5 5 5 5 5 5 6 7 8 9 10 9 8 7 6 5 5 5 5 5 5 5 5 6 7 8 9 8 7 6 5 5 5 5 5 5 5 5 5 5 6 7 8 7 6 5 5 5 5 5 5 5 5 5 5 5 5 6 7 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5
gnuplot> splot "grid.dat" matrix with lines
gnuplot> set view map gnuplot> splot "grid.dat" matrix with pm3d
Noter que le fichier de données comprend des rangs de 16 valeurs, mais que la «carte» obtenue ne comprend que 15 cases en largeur. Chaque point est un coin d'une case. Comme ces quatre points ne figurent pas nécessairement dans un même plan, le polygone correspondant à la case peut être «gauche». Exemple d'un fichier contenant seulement 4 points:
$ cat grid.dat 1 0 0 1 gnuplot> splot 'grid.dat' matrix with pm3d
gnuplot> set view map gnuplot> splot 'grid.dat' matrix with pm3d
La couleur correspond à la moyenne des 4 sommets du polygone. Par contre, si on trace les données en deux dimensions avec image, chaque case correspond à un point, autour duquel elle est centrée. Par conséquent, le graphe s'étend dans chaque dimension de min - 0.5 à max + 0.5:
gnuplot> plot "grid.dat" matrix with image
Les données vues plus haut donnent ceci:
Ce nom de fichier attend des données introduites ligne par ligne jusqu'à l'introduction d'un 'e' terminal. Avec splot, il faut le répéter (noter le prompt de gnuplot qui est modifié tant qu'on n'a pas introduit les 'e' finaux).
gnuplot> splot "-" matrix with lines input data ('e' ends) > 1 2 3 input data ('e' ends) > 0 1 2 input data ('e' ends) > -1 0 1 input data ('e' ends) > e input data ('e' ends) > e
Pour connaître les formats supportés:
gnuplot> show datafile binary filetypes
This version of gnuplot understands the following binary file types: avs bin edf ehf gif gpbin jpeg jpg png raw rgb auto
Exemple d'une image créée avec ImageMagick
$ convert -size 100x100 gradient: gradient.png
gnuplot> set pm3d at s gnuplot> unset surface gnuplot> splot "gradient.png" binary filetype=png
On utilisera logiquement un fichier en nuances de gris. Si l'on utilise un fichier en couleurs, seul le canal rouge sera utilisé. On peut s'en apercevoir avec cette image sur la synthèse de couleur additive provenant de Wikimedia:
> set pm3d at bottom > splot 'AdditiveColorMixing.png' binary filetype=png every 3:3 with lines notitle
Seul le cercle correspondant au rouge a une valeur différente de 0, soit 255 puisque chaque canal du PNG est encodé sur un octet, et est représenté par la couleur jaune sur ce tracé. On pourrait obtenir la même représentation, mais en deux dimensions, avec
> plot 'AdditiveColorMixing.png' binary filetype=png using 1 with image
ImageMagick peut convertir ou créer des images dans un format brut, de suffixe .rgb, composé seulement de données binaires, sans précisions quant au nombre de rangs/colonnes:
$ convert -size 100x100 gradient: -depth 8 gradient.rgb
Pour lire un tel fichier, on utilisera:
> splot 'gradient.rgb' binary array=(100,100) format='%uint8%uint8%uint8' with pm3d
Autres méthodes:
Le fichier est créé par ce programme Pascal:
VAR i,n: INTEGER; F: FILE OF INTEGER; BEGIN ASSIGN(F,NomDeFichier); FileMode := 2; REWRITE(F); n := 0; FOR i:=0 TO 255 DO BEGIN WRITE(F,n); n := n+1 END; CLOSE(F); END.
Il est tracé par
splot 'binary.dat' binary array=16x16 format='%uint16' with pm3d at s