2009-11-03 6 views
0

J'essaie de tracer mes données dans un triangle équilatéral barycentrique bidimensionnel en utilisant GNUplot.Comment créer un triangle équilatéral à l'aide de GNUplot?

J'utilise les commandes suivantes:

unset border 
unset xtics 
unset ytics 
set arrow 1 from 0,0 to .5,sqrt(3)/2 nohead front lt -1 lw 1 
set arrow 2 from 0,0 to 1,0   nohead front lt -1 lw 1 
set arrow 3 from 1,0 to .5,sqrt(3)/2 nohead front lt -1 lw 1 
set label 1 "1" at 0.5,sqrt(3)/2+.05 
set label 2 "2" at 1+.05,0 
set label 3 "3" at -.05,0 
plot 'data.file' 

Les commandes ci-dessus mentionnées ne crée pas un triangle équilatéral au lieu de son triangle isocèle faire.

Aidez-moi s'il vous plaît!

Avec Cordialement, Swati

+0

Que renvoie 'sqrt (3)'? Est-ce que 'sqrt (3.0)' renvoie quelque chose d'autre? –

+0

sqrt (3.0) donne le même retour que donne sqrt (3). Désolé, j'ai oublié de mentionner que c'est un triangle équilatéral barycentrique. – Swati

Répondre

4

Il est possible que votre silhouette est produit avec mise à l'échelle inégale X/Y, avec les coordonnées internes de votre triangle étant correct, mais la sortie, étant isocèle.

Essayez d'ajouter une commande

set size square 

Pour plus d'informations, consultez this FAQ.

+0

Merci beaucoup, ça marche. – Swati

0

J'ai récemment eu ce problème. J'ai créé un fichier appelé triangle.dat. Il contient 1 ligne indiquant où dessiner le triangle.

1.0 1.0 

Puis dans mon "myplot.gnu"

set pointsize 1.5 
plot "triangle.dat" pt 9 linecolor rgb "black" 

Cela tracer un triangle équilatéral noir au point 1.0, 1.0. Changer de point pour changer la taille.

Si vous avez déjà tracé d'autres points, utilisez replot au lieu de plot.