2009-06-24 4 views
1

Я как раз собираюсь выяснить, как работают python и gnuplot. НаОшибка синтаксиса gnuplot при использовании python

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

Я нашел введение, и я хотел, чтобы запустить его на моей машине 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) 

Однако, я получаю следующее сообщение об ошибке:

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

любую идею, что может быть не так? Чтобы установить поддержку gnuplot для python, я установил python-gnuplot. Я пропустил еще один пакет?

+0

Является ли это «поддержка gnuplot для Python» тем же, что и Gnuplot.py? Попробуйте установить его и запустить демонстрацию (что похоже на то, что вы пытаетесь сделать выше): http://gnuplot-py.sourceforge.net/ –

ответ

0

Ну, интерпретатор python считает, что при синтаксическом анализе произошла синтаксическая ошибка. Повторите свои кавычки, убедитесь, что для удобства вы используете только двойные или одинарные кавычки во всем скрипте (за исключением, конечно, если вам нужно поставить буквенную цитату типа «'» или «»).

Если вы не знаете, что идет не так, что вы можете сделать, это открыть интерактивный интерпретатор и написать каждую строку там

-1

Я использую pylab вместо Pylab homepage

с DEBiAN РЕПО:..

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

Ваш файл demo.py как-то поврежден - убедитесь, что символ открытой скобки действительно таков. Grub установщик от project page, чтобы убедиться.

Вы можете получить доступ к current SVN version файла (выберите скачать ревизии HEAD).

0

Если скопировать и вставить код в Emacs я получаю это:

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) 

Если я удалить пробельные в начале трех линий это работает для меня.

2

Вы положили линию bangline в первую строку? i.e:

#!/usr/bin/python 

Похоже, что это не интерпретатор Python, который выполняет файл.

+0

yep, похоже, вы используете его через интерпретатор bash здесь. если бы это был я, я бы пользовался #!/usr/bin/env python как строка bang для unix. или запустить его вручную с помощью «python demo.py» –