Questions diverses sur Gnuplot

Dernière modification

Résumé : Une sorte de FAQ personnelle au sujet de Gnuplot, encore à l'état d'ébauche

Ajouté(e) :

> <toc>

Modifié(e) :

< ==== Comment spécifier des couleurs personnalisées ?

à

> ==== Comment spécifier des couleurs personnalisées ? ====


Gnuplot

Tracés

Comment surligner une partie d'une courbe?

Avec l'option `every`, qui permet de sélectionner une partie des données. Les arguments (tous optionnels) à cette option étant

  <point_incr>}:<block_incr>:<start_point>:start_block>:<end_point>:<end_block>

on peut ré-écrire un tracé sur lui-même en spécifiant un point de départ et de fin. Ceci tracera une ligne fine en gris dont une portion sera grasse et noire:

  plot 'data' with lines lc 18, \
       'data' every 1::50::200 notitle with lines lc 7 lw 3

Comment adoucir une courbe?

Avec les options `smooth` et `every`. Comme dans la question précédente, on peut superposer un tracé à lui-même, mais ici en l'adoucissant. Le premier nombre après `every` étant l'incrémentation, on peut utiliser une expression qui correspond à une division, et ainsi moduler le degré d'adoucissement. Soit des données comprenant n points

  plot 'data' with lines, \
       'data' using every n/50 with lines smooth bezier lc 1 notitle

Malheureusement, si n vaut 218 points, la courbe adoucie ira du point 1 au point 201 (soit 4*50+1), et les 27 derniers ne seront pas repris. Idéalement, il faudrait des données composées d'un multiple de l'incrémentation, +1

Mise en page

Comment supprimer...

Couleurs

Comment spécifier des couleurs personnalisées ?

  plot ... lc rgb "gray90"
  plot ... lc rgb "#0000d0"

Comment utiliser une colonne de données pour colorer des points ?

Par exemple ainsi:

  set palette model RGB defined (0 "#ff0000", 1 "#00ff00", 2 "#0000ff", \
                                 3 "#ffff00", 4 "#00ffff")
  unset colorbox
  plot "-" using 1:2:3 notitle with points pt 7 ps 3 palette
  1 1 0
  2 2 1
  3 1 2
  4 2 3
  5 2 4
  e

Noter que la palette est constituée de transitions continues entre les valeurs entières définies dans la palette, ce qui est sans conséquences visuelles si la colonne de données ne comprend elle-même que des valeurs entières. Si on veut utiliser des valeurs intermédiaires, il faut définir les plages de couleur constante:

  set palette model RGB defined (0 "#ff0000",   1 "#ff0000",\
                                 1 "#00ff00", 2 "#00ff00",\
                                 2 "#0000ff", 3 "#0000ff")

ou plus simplement:

  set palette maxcolors 3

Autre approche:

  plot "-" using 1:2:3 notitle with points pt 7 ps 3 linecolor rgb variable
  1 1 0xff0000
  2 2 0x00ff00
  3 1 0x0000ff
  4 2 0xffff00
  5 2 0xff00ff
  e

Noter que la syntaxe de la couleur n'est "#00ff00"