1 votes

Gnuplot - Tracer des points de données sur un graphique de contours 2D

Je veux tracer des points de données (M_Coord_Plain.txt) sur une projection de contour 2D (qui est réalisée à partir des données sur Contours.txt).

J'ai trouvé des réponses similaires sur ces posts : Comment marquer certains points sur une heatmap 2D dans gnuplot?, Superposition de points sur une carte pm3d?, mais malheureusement ils ne semblent pas fonctionner dans mon cas.

Tout d'abord, je définis les options :

set pm3d explicit   
unset surface      # Désactive la surface    
set view map       # Définit une vue de dessus (plan xy)    
set contour        # Trace des lignes de contour    
set key outside    
set cntrparam cubicspline   # Lisse les lignes    
unset colorbox

puis je trace avec la commande splot :

splot 'Contours.txt' using 1:2:3 notitle with pm3d,\
'M_Coord_Plain.txt' with points nocontour using 1:2:(0) pt 7

Le tracé obtenu est seulement la projection de contour 2D mais sans les points et sans erreur.

J'utilise Gnuplot 5.0 patchlevel 3 sur Ubuntu 16.04LTS.

0voto

zarathustra-f90 Points 103

Enfin, ça a marché, mais les changements suivants ont dû être apportés :

  1. Inclure un espace entre chaque ligne dans le fichier de données de points (M_Coord_Plain.txt) car la commande splot nécessite ce format.
  2. Supprimer la commande unset surface et la remplacer par la commande set surface car les points de données sont tracés sur la surface. Cependant, cela a pour conséquence que les points semblent vagues puisque la couleur correspondante pour la valeur zéro (la troisième colonne définie :(0) ) est par défaut un violet foncé.
  3. Nous pouvons donc utiliser une palette de couleurs en noir et blanc et définir une large plage de couleurs dans la boîte à couleurs afin d'avoir un grand contraste entre zéro et les valeurs de contour élevées.

Donc, les commandes pour tracer le graphique demandé sont :

set pm3d explicit
set surface
set view map  # Définir une vue en plongée (plan xy)
set contour  # Tracer les lignes de contour
set key outside
set cntrparam cubicspline  # Lisser les lignes
set cntrparam levels discrete 3.197,3.552  # Tracer les contours sélectionnés
unset colorbox
set cbrange [0:7000]  # Définir la plage de couleurs des valeurs de contour.
set palette model RGB defined ( 0 'white', 1 'black' )
set style line 1 lc rgb '#4169E1' pt 7 ps 2
splot 'Contours.txt' using 1:2:3 with pm3d notitle,\
      'M_Coord_Plain.txt' using 1:2:(0) with points ls 1 notitle

Le graphique résultant est ici.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X