#1 Le 28/03/2012, à 11:48
- Autiwa
[Résolu] gnuplot donne des traits transversaux non désirés
Bonjour,
Avec gnuplot, je trace un graphique 2D et je superpose un tracé de contour particulier. Ça marche généralement bien, mais je viens de trouver quelque chose d'étrange avec le graphique suivant :
Le fichier de contour est le suivant :
4.4444444444444446 20.000000000000000 0.0000000000000000
4.4444444444444446 18.530872483331486 0.0000000000000000
4.4444444444444446 17.061744966662967 0.0000000000000000
4.4444444444444446 15.592617449994455 0.0000000000000000
4.4444444444444446 14.123489933325940 0.0000000000000000
4.4444444444444446 12.654362416657424 0.0000000000000000
4.4444444444444446 11.185234899988908 0.0000000000000000
4.4444444444444446 9.7161073833203950 0.0000000000000000
4.4444444444444446 8.2469798666518788 0.0000000000000000
4.4444444444444446 6.7778523499833652 0.0000000000000000
4.4444444444444446 5.3087248333148498 0.0000000000000000
4.4444444444444446 3.8395973166463349 0.0000000000000000
4.4444444444444446 2.3704697999778208 0.0000000000000000
4.4444444444444446 0.90134228330930599 0.0000000000000000
4.4444444444444446 0.76778523633944096 0.0000000000000000
4.4444444444444446 0.63422818936957603 0.0000000000000000
4.4444444444444446 0.50067114239971100 0.0000000000000000
4.4444444444444446 0.36711409542984608 0.0000000000000000
4.4444444444444446 0.23355704845998110 0.0000000000000000
4.4444444444444446 0.10000000149011612 0.0000000000000000
14.444444444444445 20.000000000000000 0.0000000000000000
14.444444444444445 18.530872483331486 0.0000000000000000
14.444444444444445 17.061744966662967 0.0000000000000000
14.444444444444445 15.592617449994455 0.0000000000000000
14.444444444444445 14.123489933325940 0.0000000000000000
14.444444444444445 12.654362416657424 0.0000000000000000
14.444444444444445 11.185234899988908 0.0000000000000000
14.444444444444445 9.7161073833203950 0.0000000000000000
14.444444444444445 8.2469798666518788 0.0000000000000000
14.444444444444445 6.7778523499833652 0.0000000000000000
14.444444444444445 5.3087248333148498 0.0000000000000000
14.444444444444445 3.8395973166463349 0.0000000000000000
14.444444444444445 2.3704697999778208 0.0000000000000000
14.444444444444445 0.90134228330930599 0.0000000000000000
14.444444444444445 0.76778523633944096 0.0000000000000000
14.444444444444445 0.63422818936957603 0.0000000000000000
14.444444444444445 0.50067114239971100 0.0000000000000000
14.444444444444445 0.36711409542984608 0.0000000000000000
14.444444444444445 0.23355704845998110 0.0000000000000000
14.444444444444445 0.10000000149011612 0.0000000000000000
(je l'ai réduit, mais c'est le même principe, j'ai vérifié)
Le code utilisé pour le tracer avec gnuplot est :
set terminal wxt enhanced
set xlabel "semi major axis (AU)"
set ylabel "Planet mass (m_{earth})" center
set title "Evolution of the total torque {/Symbol G}_{tot}/{/Symbol G}_0 "
set pm3d map
set pm3d explicit
set palette rgbformulae 22,13,-31
set mxtics 5
set mytics 5
set grid xtics ytics mxtics mytics linetype -1, linetype 0
set xrange [ 9.99999977648258209E-003 : 15.000000000000000 ]
set yrange [ 0.10000000149011612 : 20.000000000000000 ]
splot 'test_total_torque.dat' with pm3d notitle, \
'contour_total_torque.dat' with line linetype -1 title '{/Symbol G}=0'
contour_total_torque.dat étant le fichier que j'ai recopié plus haut.
Je ne comprends pas pourquoi il me trace des traits horizontaux en plus des deux traits verticaux qu'il est censé tracer. Quelqu'un a une idée? De ce que j'ai compris jusqu'à présent, le fichier de contour doit être des suites de coordonnées (x,y) séparées par une ligne blanche pour séparer les différents traits. Je n'ai pas trouvé pourquoi ça fonctionnait parfaitement avec des contours bizarres et compliqués et pourquoi ça ne fonctionne pas dans ce cas où justement le contour est beaucoup plus simple. Quelqu'un a une idée?
Le cas échéant, quelqu'un saurait à qui je peux demander ou reporter l'éventuel bug? (Sur le site de gnuplot je n'ai pas trouvé de lien pour reporter des bugs, même s'il n'est pas certain que ce soit un bug, ça peut être un truc que j'ai pas compris)
Résolu :
Alors en fait, grâce à la répondu un peu plus bas, c'est un comportement normal de gnuplot quand deux lignes ont la même longueur. Ce n'est donc pas un bug.
Pour contourner ça, il suffit de séparer par deux lignes au lieu d'une (merci gl38)
Dernière modification par Autiwa (Le 28/03/2012, à 14:10)
Pensez à éditer le titre du sujet (en éditant le premier message) pour rajouter un "[Résolu]" ça évite à ceux qui veulent donner un coup de main, d'ouvrir un sujet où il n'y a plus d'aide à donner.
Hors ligne
#2 Le 28/03/2012, à 14:05
- pingouinux
Re : [Résolu] gnuplot donne des traits transversaux non désirés
Bonjour,
J'ai fait quelques essais, et regardé la doc; ce comportement est normal si les séries de points ont la même longueur. Voici un extrait de la doc de gnuplot :
$ gnuplot
............
gnuplot> help splot datafile
............
If all datablocks contain the same number of points, `gnuplot` will draw cross-isolines between datablocks,
connecting corresponding points.
Hors ligne
#3 Le 28/03/2012, à 14:07
- Autiwa
Re : [Résolu] gnuplot donne des traits transversaux non désirés
Aww. Merci d'avoir pris le temps de regarder. J'ai cherché un peu sur le net mais je ne savais pas trop à quelle commande je devais associer ça.
Je trouve ça stupide, parce que ça veut dire que je ne peux pas tracer deux lignes de la même longueur sans rien faire entre les deux.
Merci de ton aide.
Pensez à éditer le titre du sujet (en éditant le premier message) pour rajouter un "[Résolu]" ça évite à ceux qui veulent donner un coup de main, d'ouvrir un sujet où il n'y a plus d'aide à donner.
Hors ligne
#4 Le 28/03/2012, à 14:08
- gl38
Re : [Résolu] gnuplot donne des traits transversaux non désirés
C'est curieux en effet.
On peut même obtenir un très joli dessin en inversant l'ordre des lignes du deuxième paquet.
Mais si on met deux ligne blanches, on n'a plus que deux lignes verticales.
Cordialement,
Guy
Hors ligne
#5 Le 28/03/2012, à 14:11
- pingouinux
Re : [Résolu] gnuplot donne des traits transversaux non désirés
En fait, pour s'en sortir, il suffit de doubler une ligne d'une série; ni vu ni connu, ça n'apparaît pas sur le dessin.
Hors ligne
#6 Le 28/03/2012, à 14:15
- pingouinux
Re : [Résolu] gnuplot donne des traits transversaux non désirés
@gl38 #4 : En effet, c'est une meilleure solution. S'il y a plus de 2 séries, il faut doubler toutes les lignes blanches, sinon on a un résultat intermédiaire.
Dernière modification par pingouinux (Le 28/03/2012, à 14:17)
Hors ligne