Warum boolsche Ergebnisse gemischt mit Integer?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

EyDu hat geschrieben:Schau dich einfach in der Gallerie der matplotlib-Seite um ...
Um das zu vertiefen: Der uebliche Arbeitsablauf mit matplotlib ist wohl
1. Gehe zur Gallerie
2. "Na was sieht denn dem am aehnlichsten was ich machen will?"
3. Code kopieren und anpassen

;)
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Das machen aber nur Anfänger. Fortgeschritten matplotlib-Benutzer kopieren aus ihren bereits vorhandenen Projekten.

Profis hingegen haben bereits ein eigenes matplotlib-Modul rumliegen. Die Funktionssignaturen sehen dabei fast genau so aus wie die von matplotlib, nur viel weniger allgemein und mit zufälligen Parametern für die Koordinaten: mal ein mehrdimensionales Array, mal Listen für die einzelnen Achsen oder Listen von Tupeln.

Diese beiden Stufen habe ich zum Glück schon überwunden und erstelle Diagramme nun nur noch mit LaTeX, TikZ und pgfplot. Über die nächste Stufe bin ich mir noch nicht ganz sicher. Wahrscheinlich müssen Python und matplotlib noch irgendwie über das makefile in die LaTeX-Projekte integriert werden. Hat da schon jemand Erfahrung? :lol:
Das Leben ist wie ein Tennisball.
siggi
User
Beiträge: 79
Registriert: Montag 29. Januar 2007, 14:22

@BlackJack:
BlackJack hat geschrieben:...Man könnte ein wenig schummeln und Werte die grösser als ein Schwellenwert sind einfach durch NaN ersetzen...
matplotlib und deine "Schummelei" sind einfach toll. Ich habe jetzt dein Beispiel für mich mit Linien so vereinfacht:

Code: Alles auswählen

# pylab_tan.py

'''
pylab_example: how to handle
infinite y values, according
to BlackJack
'''

import pylab as pl

pl.title('y = tan(x)', color='blue', fontsize=16, fontweight='bold')

x = pl.arange(-pl.pi, pl.pi, 0.01) 
y = pl.tan(x)
y[abs(y) > 10] = pl.nan
pl.plot(x, y)
pl.ylim(-10, 10)
pl.grid(True)

pl.show()
matplotlib wird bis auf weiteres mein liebster Funktionsplot Python2 und Python3 bleiben :)

Gibt's pylab auch für windows (Windows 8, 64bit)?
Gruss,

siggi
siggi
User
Beiträge: 79
Registriert: Montag 29. Januar 2007, 14:22

siggi hat geschrieben:...Gibt's pylab auch für windows (Windows 8, 64bit)?
Ja: http://www.python-forum.de/viewtopic.ph ... 54#p249254
Gruss,

siggi
BlackJack

@siggi: Weil ich gerade wegen eines anderen Themas hier im Forum damit herumspiele: Mit Sagemath kann man auch plotten. Im Hintergrund wird matplotlib verwendet, aber die Sage-`plot()`-Funktion hat auch ein Argument zum erkennen und anzeigen von Polstellen.

Code: Alles auswählen

var('x y')
plot(tan(x), (y, 0, 2*pi), legend_label='tangens', detect_poles='show', ymin=-100, ymax=100, dpi=75)
Was Sage daraus macht:
Bild
Antworten