Seite 1 von 1

Gnuplot Interfacen

Verfasst: Freitag 27. Juli 2007, 13:49
von gecko
Hallo,

ich möchte Gnuplot über Python ansprechen, was im Forum schon mehrmals angesprochen wurde. Bisher haben die Pipes über Popen für mich nicht funktioniert. Nun gibt es folgende Möglichkeiten:

1. über eine Pipe Library zuverlässig pipen
2. Gnuplotlibpy auf numpy porten über altercode im oldnumeric packacge von numpy
3. eine alte Pythonversion und Numeric nutzen
4. warten und so lange Matplotlib verwenden bis jemand das Problem gelöst hat

Was mich wundert ist, dass das gplt modul aus scipy geworfen wurde.

Eigentlich hätte ich vermutet es gäbe schon eine Lösung. Bisher konnte ich nicht fündig werden.

Danke im voraus für alle Links/Vorschläge.

Verfasst: Freitag 27. Juli 2007, 16:58
von mawe
gecko hat geschrieben:Bisher haben die Pipes über Popen für mich nicht funktioniert
Warum nicht?

Verfasst: Freitag 27. Juli 2007, 18:11
von gecko

Code: Alles auswählen

>>> f = os.popen('gnuplot', 'w')
>>> print >> f, 'plot sin(x)'
>>> f.flush()

Traceback (most recent call last):
  File "<pyshell#8>", line 1, in <module>
    f.flush()
IOError: [Errno 32] Broken pipe

Verfasst: Freitag 27. Juli 2007, 18:24
von BlackJack
Ich denke Zeile 6 verrät den Schuldigen. Versuch's mal mit einer anderen Python-Shell.

Verfasst: Freitag 27. Juli 2007, 18:45
von veers
Überleg er mal subprocess zu verwenden ;)

Verfasst: Freitag 27. Juli 2007, 19:07
von gerold
Hallo!

Ich weiß nicht, ob es wirklich an PyShell liegt.

Code: Alles auswählen

>>> import os
>>> s = """plot sin(x)/x
... splot sin(x*y/20)
... plot sin(x) title 'Sine Function', tan(x) title 'Tangent'"""
>>> p = os.popen(r"J:\Ablage\gnuplot\bin\pgnuplot.exe", "w")
>>> p.write(s)
>>>
PyShell unter Windows und funktioniert einwandfrei.

mfg
Gerold
:-)

Verfasst: Samstag 28. Juli 2007, 12:47
von gecko
Danke für die Antworten. Ich werde das mal mit der anderen Shell und Subprocess versuchen.