2009-06-24 6 views
1

Je suis sur le point de découvrir comment python et gnuplot fonctionnent ensemble. SurErreur de syntaxe gnuplot lors de l'utilisation de python

http://wiki.aims.ac.za/mediawiki/index.php/Python:Gnuplot_module

J'ai trouvé une introduction et je voulais exécuter sur ma machine Ubuntu.

import Gnuplot 

gp = Gnuplot.Gnuplot(persist = 1) 
gp('set data style lines') 

# The first data set (a quadratic) 
data1 = [[0, 0], [1, 1], [2, 4], [3, 9], [4, 16]] 

# The second data set (a straight line)   
data2 = [[0, 0], [1, 1], [2, 2], [3, 3], [4, 4]]  


plot1 = Gnuplot.PlotItems.Data(data1, with_="lines", title="Quadratic") 
plot2 = Gnuplot.PlotItems.Data(data2, with_="points 3", title=None) # No title 

gp.plot(plot1, plot2) 

Cependant, je reçois le message d'erreur suivant:

./demo.py 
./demo.py: line 2: syntax error near unexpected token `(' 
./demo.py: line 2: `gp = Gnuplot.Gnuplot(persist = 1)' 

une idée de ce qui pourrait être mal ici? Pour installer le support de gnuplot pour python, j'ai installé python-gnuplot. Est-ce que je manque un autre paquet?

+0

Est-ce que ce "support gnuplot pour Python" est la même chose que Gnuplot.py? Essayez de l'installer, et exécutez sa démo (ce qui ressemble à ce que vous essayez ci-dessus): http://gnuplot-py.sourceforge.net/ –

Répondre

0

Eh bien, l'interpréteur Python pense que lors de l'analyse il y avait une erreur de syntaxe. Vérifiez à nouveau vos devis, assurez-vous que pour des raisons de commodité, vous utilisez uniquement des lits doubles ou des guillemets simples dans votre script entier (sauf bien sûr quand vous avez besoin de mettre dans une citation littérale comme « ' » ou « " »).

Si vous ne savez pas ce qui va mal ce que vous pouvez faire est d'ouvrir l'interpréteur interactif et écrire chaque ligne il

-1

Je l'ai utilisé à la place pylab Pylab homepage

de repo debian:..

python-matplotlib - Python based plotting system in a style similar to Matlab. 
0

Votre fichier demo.py est en quelque sorte corrompu - assurez-vous que le caractère de parenthèse ouverte est vraiment cela. Grub le programme d'installation à partir du project page pour vous assurer.

Vous pouvez accéder au current SVN version du fichier (choisissez téléchargez de la révision HEAD).

0

Si je copier et coller votre code dans Emacs je reçois ceci:

gp = Gnuplot.Gnuplot(persist = 1) 
gp('set data style lines') 
data1 = [[0, 0], [1, 1], [2, 4], [3, 9], [4, 16]] # The first data set (a quadratic) 
data2 = [[0, 0], [1, 1], [2, 2], [3, 3], [4, 4]] # The second data set (a straight line) 
plot1 = Gnuplot.PlotItems.Data(data1, with_="lines", title="Quadratic") 
plot2 = Gnuplot.PlotItems.Data(data2, with_="points 3", title=None) # No title 
gp.plot(plot1, plot2) 

Si je supprime les blancs en début des trois lignes, il travaille pour moi.

2

Avez-vous mis la bangline dans la première ligne? i.e.:

#!/usr/bin/python 

On dirait que ce n'est pas l'interpréteur Python qui exécute le fichier.

+0

oui, on dirait que vous l'exécutez à travers l'interpréteur bash ici. Si c'était moi, j'utiliserais #!/usr/bin/env python comme la ligne bang pour unix. ou exécutez-le manuellement avec "python demo.py" –