Question sur gnuplot

Bibi -  
Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'aimerai tracer une graph contenant trois séries de données, qui sont:

série 1: variation observée de la variable A,

série 2: variation bien anticipée de la variable A

série 3: variation mal anticipée de la variable A

donc chaque valeur de la variable A (série 1) est soit bien anticipée (série 2) soit mal anticipée (série 3). ex:

observed corrected ant. incorrect ant.
0 0
0 0
0 0
0 -0.01
-0.25 -0.11
0 0
0 -0.01
-0.25 0.05

dans la première série la variable A prend toujours une valeur. Dans la 2eme série la variable ne prend une valeur qu'en cas d'anticipation supposée bien et enfin dans la dernière la variable ne prend une valeur qu'en cas d'anticipation supposée mauvaise.

plot "var.txt" using 1 title "var. obs" w i lt 16, \
"var.txt " using 2 title "accurate ant." lt 3, \
"var.txt " using 3 title "inaccurate ant." lt 3 pt 5 ps 2

En rentrant ces séries comme présentée gnuplot considère seulement 2 séries et non 3.

Comment puis résoudre ce problème?

merci d'avance

Bibi

1 réponse

Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
Salut
Je n'ai rien compris à ton histoire de série.
Gnuplot raisonne en colonne en premier lieu. Dans l'exemple que tu donnes, il n'y a que 2 colonnes, donc forcément, je ne voi pas comment lui dire de tracer la troisième...
Ce que je comprends de ton histoire de série, c'est que tu as des colonnes à trou. Ceci est impossible avec gnuplot.
Il faut arranger tes variables autrement. Une première colonne "index" numérotant les observation, une deuxième colonne ce que tu veux faire.
Il est même possible qu'il faille créer 3 fichiers. au sein de colonnes, Gnuplot sait repérer des lignes vides, qu'il interprète comme un changement de série de donnée.
Tu pourrais essayé un truc dans le genre pour ton fichier :
1 0.25
2 0.5
3 0.6
4 0.0

1 3.2
4 0.1

2 0.3
3 0.5

que tu trace plot "var.txt" using 1:2 title "var. obs" w i lt 16
si tu veux séparer mieux tes courbes, il faut alors utilisé l'option every (regarde l'aide, c'est assez compliqué)
0