2011-02-26 4 views
0

J'ai essayé de tracer des données en coordonnées polaires avec gnuplot puis de dessiner une ligne lisse.gnuplot: ligne lisse en coordonnées polaires

data.dat:

0 10 
20 15 
40 40 
60 80 
80 140 
100 140 
120 80 
140 40 
160 15 
180 10

gnuplot:

 
set polar 
set angle degrees 
set grid 
set grid polar 
plot "data.dat" smooth csplines 

Je me attendais gnuplot à tracer la courbe ovoïde entre les points, mais il a attiré la ligne étrange de gauche à droite en ignorant les coordonnées polaires. Pensez-vous qu'il existe une solution?

Répondre

1

csplines sont cubiques donc c'est le meilleur que vous pouvez obtenir avec eux. Essayez

plot 'data.dat' smooth bezier 

Mais même dans ce cas, vous ne pouvez pas obtenir beaucoup de résultats avec un si petit ensemble de données.

Il y a une autre astuce que vous pouvez essayer, mais il améliore les choses seulement un peu: vous première sortie une table des données générées par smooth bezier parcelle normale, puis tracer le graphe polaire:

# save smooth bezier data 
set table 
set output 'b_data.dat' 
plot 'data.dat' smooth bezier 

# plot 
unset table 
set term x11 
set polar 
set angle degrees 
set grid 
set grid polar 
plot "b_data.dat" w lines 
+0

merci, Bézier semble mieux , mais il fait beaucoup plus petite courbe que mes données sont –

+0

@paolo: Je ne pense pas que vous pouvez faire beaucoup à ce sujet:/J'ai mis à jour la réponse un peu. – Eelvex

+0

c'est un bon truc et ça a l'air beaucoup mieux maintenant, merci –

Questions connexes