Seite 1 von 1

Modul für Diagramme (im Excel-Stil)

Verfasst: Mittwoch 4. Februar 2009, 11:12
von ms4py
Suche ein Modul um Diagramme generieren zu können.
Benötige vermutlich ein Art Zeitleiste, Balken - und Tortendiagramm.
Verwende das GTK Framework.

Bin bei meiner Suche schon auf 2 Möglichkeiten gestoßen:
Pythonmodul "graphas" und das GTK Programm "Dia", welches eine Pythonschnittstelle enthält.

Hat jemand Erfahrungen mit einem der beiden Möglichkeiten, oder ist sonst noch ein Modul bekannt? Kann leider beide nicht installieren mangels Rechten...

Verfasst: Mittwoch 4. Februar 2009, 12:38
von gkuhl
Etwas so schlechtes wie der Stil von Excel fällt mir jetzt nicht ein :D , aber es gibt zum Beispiel matplotlib und auch eine Anbindung für gnuplot.

Verfasst: Mittwoch 4. Februar 2009, 14:04
von Rebecca
Es gibt auch noch pychart, aber ich hab's noch nie benutzt.

Verfasst: Mittwoch 4. Februar 2009, 14:34
von gkuhl
Hier noch ein Link mit einer Übersicht für wissenschatftliche Plotten: http://wiki.python.org/moin/NumericAndS ... c/Plotting . Das dürfte so ziemlich alles sein, was es so gibt.

Verfasst: Mittwoch 4. Februar 2009, 15:37
von ms4py
Habe leider nur nach "diagram" gesucht und bin auf diese Module nicht gestoßen.
Das "matplotlib" sieht wirklich top aus, mein Prof wird davon begeistert sein^^

Verfasst: Mittwoch 4. Februar 2009, 16:35
von ms4py
Bekomme ich das matplotlib für Python 2.6 überhaupt irgendwie installiert? (Windows)

Verfasst: Mittwoch 4. Februar 2009, 17:03
von gkuhl
ice2k3 hat geschrieben:Bekomme ich das matplotlib für Python 2.6 überhaupt irgendwie installiert? (Windows)
Ich kenne mich mit Python unter Windows nicht aus. Es empfiehlt sich aber auf jeden Fall gleich iPython zu installieren, wo unter anderem auch Matplotlib dabei ist. Vielleicht ist das weniger aufwendig.

Verfasst: Mittwoch 4. Februar 2009, 17:08
von hendrikS
Also ich weiss nicht genau wozu IPython gut ist, aber nötig ist das in jedem Fall nicht. Die Installation von Matplotlib ist normal smooth as silk. Doppelklick, ein paar mal return und fertig.
Es scheint nur noch nicht fuer Py2.6 verfuegbar. Dann am besten zurueck zu 2.5.4. Der unterschied zu 2.6 ist marginal.

Verfasst: Mittwoch 4. Februar 2009, 17:11
von CM
ice2k3 hat geschrieben:Bekomme ich das matplotlib für Python 2.6 überhaupt irgendwie installiert? (Windows)
Kenne mich unter Windows auch nicht aus. Aber die neueste Version (z. Zt. 0.98.5) gibt es nur für Windows 32 bit bis Python 2.5. Solltest Du selber kompilieren wollen, rennst Du bei den Entwicklern offene Türen ein, wenn Du das Paket anbietest. ;-) Aber das ist ziemlicher Aufwand, da auch numpy noch nicht für Python > 2.5 auf Windows als Fertigpaket angeboten wird, müsstest Du das auch kompilieren. Bei so komplexen Paketen braucht es halt seine Zeit, bis eine neue Pythonversion unterstützt wird.

HTH
Christian

Verfasst: Mittwoch 4. Februar 2009, 17:13
von hendrikS
Bevor ich es vergesse. Es gibt eine Abhängigkeit zu Numpy.

Verfasst: Mittwoch 4. Februar 2009, 18:45
von ms4py
Ja das Numpy zu kompilieren habe ich schon hinbekommen.
Das ging problemlos.

Bei matplotlib ist es ein bisschen komplizierter.
Habe es nur ohne GTK Unterstützung kompiliert bekommen.
(Brauche pygtk Quellcode und die Seite ist grad down...).
Und mein Test hat nur Zahlen ausgespuckt und kein Graph (brauch dazu wohl noch die interaktive Konsole...).

Naja werd das später mal noch mal testen und die Erfahrung hier posten, auf Wunsch stell ich auch die Binaries zur Verfügung.

Verfasst: Mittwoch 4. Februar 2009, 19:26
von cofi
Falls du Windows benutzt, gibt es sowohl für numpy, als auch für matplotlib vorkompilierte Pakete.
Unter Linux sollte sich der Paketmanager deines Vertrauens darum kümmern.

Verfasst: Mittwoch 4. Februar 2009, 19:30
von Leonidas
Kannst die Binaries dann auf [wiki]Windows Binaries[/wiki] verlinken. Wenn du willst, kann ich sie auch hosten.

Verfasst: Mittwoch 4. Februar 2009, 20:31
von ms4py
Sind doch nur Binaries für py2.4 auf der Seite...

Verfasst: Mittwoch 4. Februar 2009, 20:45
von Leonidas
ice2k3 hat geschrieben:Sind doch nur Binaries für py2.4 auf der Seite...
Ja, du sollst ja auch deine Binaries da verlinken. Hast ja gemeint dass du welche hast.

Verfasst: Mittwoch 4. Februar 2009, 21:18
von HerrHagen
Ich versteh nicht ganz wo das Problem liegt. Matplotlib für Windows ist wirklich einfach: Da findest du einen einfachen Installer hier. Da brauchst du nichts selber kompilieren.
Bei numpy gilt das gleiche. Das findest du hier
Numpy unter Windows mit Python 2.6 funktioniert im Moment einfach noch nicht (und damit auch nicht matplotlib). Du magst es vieleicht kompliliert bekommen, aber es dürfte nicht wirklich funktionieren. Nimm bis dahin einfach Python 2.5 und die fertigen Binaries und erspar dir den ganzen Ärger.

MFG HerrHagen

Verfasst: Mittwoch 4. Februar 2009, 22:42
von ms4py
Und wie es funktioniert...
Habe es jetzt hinbekommen (mit GTK-Unterstützung).

Numpy:
Quelltext laden und "setup.py bdist_wininst" --> fertig

Matplotlib:
Quelltext laden, http://matplotlib.sourceforge.net/win32 ... _vs.tar.gz laden und in den Quelltext-Ordner entpacken, dann "setup.py bdist_wininst" --> fertig

Vorraussetzung: Visual Studio 2008
(Vielleicht geht es auch mit der Express Edition, man braucht halt den Compiler)

Und schon funktioniert es mit schönem GTK Fenster:
Bild
Bild

Wer die Binaries haben will, meldet sich einfach.
@Leonidas, ja ich hab Binaries, aber für py2.6, und auf der Seite werden nur für 2.4 angeboten.

Verfasst: Mittwoch 4. Februar 2009, 23:00
von Leonidas
ice2k3 hat geschrieben:@Leonidas, ja ich hab Binaries, aber für py2.6, und auf der Seite werden nur für 2.4 angeboten.
Das ist ein Wiki und du sollst sie ja da verlinken. Ich habe jetzt extra für dich eine Überschrift mit Python 2.6 hinzugefügt.

Verfasst: Mittwoch 4. Februar 2009, 23:20
von ms4py
Ok, sind drin.
Allerdings noch auf rapidshare gehostet.
Können gerne irgendwo anders hochgeladen werden.

Verfasst: Mittwoch 4. Februar 2009, 23:56
von Leonidas
Schick sie mir mal per Mail, ich lade sie dann bei mir hoch, zu den anderen Builds.

Edit: Binaries hochgeladen und auf der Seite verlinkt.