2D - Plotten / Visualisierung



Ähnliche Dokumente
Effizientes Erstellen schöner Plots - keine Hexerei

Python Einführung. Monica Selva Soto. 24 März Mathematisches Institut

Übung 4: Einführung in die Programmierung mit MATLAB

= {} +{} = {} Widerstand Kondensator Induktivität

Python - Open-Source-Werkzeuge für Wissenschaftler und Ingenieure

Einführung in QtiPlot

Einführung in Python Teil II Bibliotheken für wissenschaftliches Rechnen

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

Erfahrungen mit Hartz IV- Empfängern

6 Graphische Darstellungen mit Matplotlib

Gezielt über Folien hinweg springen

Übung - Datenmigration in Windows Vista

Kurzeinführung zum Plotten in Maple

Animationen erstellen

Historical Viewer. zu ETC5000 Benutzerhandbuch 312/15

Wir machen neue Politik für Baden-Württemberg

13. Lineare DGL höherer Ordnung. Eine DGL heißt von n-ter Ordnung, wenn Ableitungen y, y, y,... bis zur n-ten Ableitung y (n) darin vorkommen.

Software- und Druckerzuweisung Selbstlernmaterialien

Wie Sie mit Mastern arbeiten

Einführung in die Java- Programmierung

bagfa ist die Abkürzung für unseren langen Namen: Bundes-Arbeits-Gemeinschaft der Freiwilligen-Agenturen.

Einleitung Das VTK-Datenformat Automatisierung mit Python. 3D-Modellierung. Florian Buchegger, Michael Haberleitner. 11. Dez.

Auswertung zu "Projektmanagement B, SS08"

Technische Analyse der Zukunft

Das hyperref-paket. Eine Einführung von TOBI A S Iffland 7. Dezember 2005

Installation, Einrichtung, Nutzung von PHOCA DOWNLOAD. Download-Links... 2

Lineare Algebra und Lösung linearer zeitinvarianter Differentialgleichungssysteme

1. Einführung. 2. Vorbereiten der Excel-Datei

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

MATLAB: Kapitel 2 Grafiken

Zahlen auf einen Blick

Grafikbausatz Overlays Profi. für iphone/pocket Visu & PC Visualisierungen

Anleitungen TYPO 3 Eingaben tätigen

Kleine Einführung in die lineare Regression mit Excel

Diagramme. Excel Aufbau ZID/Dagmar Serb V.02/Okt 2015

Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung:

Hohe Kontraste zwischen Himmel und Landschaft abmildern

Versandtaschen - dm Folien

Die Größe von Flächen vergleichen

Wien = Menschlich. freigeist.photography

Contao Schulung. Martin Kozianka Donnerstag,

AW: AW: AW: AW: Kooperationsanfrage anwalt.de

Die Textvorlagen in Microsoft WORD und LibreOffice Writer

Einführung in Python/Matplotlib

Informationsblatt Induktionsbeweis

Musterlösungen zur Linearen Algebra II Blatt 5

Dokumentation: ZIBXL - Auswertung der internen Umbuchungen

Erste Schritte am Rechner

Bedienungshinweise für das Smartboard. Basisfunktionen

Herausforderungen und Möglichkeiten für die landwirtschaftliche Logistik

Handbuch für Nutzer von Zertifikaten der Zertifizierungsstellen (CAs) des Bayerischen Behördennetzes (BYBN) zur Sicherung von s Teil C6:

Handbuch ECDL 2003 Basic Modul 6: Präsentation Diagramm auf einer Folie erstellen

Energieeffiziente Empfänger in Sensornetzwerken

Aussage: Das Seminar ist hilfreich für meine berufliche Entwicklung

Das Institut für berufliche Aus- und Fortbildung stellt sich vor

Programm Feature Einsatz SOFiSTiK für russische Projekte

Begriff 1 Begriff 2 Datenbank 1

Lösungen zum 3. Aufgabenblatt

In diesem Kurs lernen Sie, wie in EXCEL Diagramme erzeugt werden und was Sie dabei beachten sollten.

Häufig gestellte Fragen

Python. und statistische Methoden der Datenanalyse

Ihre Lizenz ändern. Stand 01/2015

Benutzerverwaltung und Rechtevergabe

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup Conrad Kobsch

1. EINLEITUNG 2. GLOBALE GRUPPEN Globale Gruppen anlegen

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Xesar. Die vielfältige Sicherheitslösung

GSD-Radionik iradionics Android-App

AGENDA BUNDESWEHR IN FÜHRUNG AKTIV. ATTRAKTIV. ANDERS.

Workshop 6. Einführung in die objektorientierte Programmierung. Teil: Java mit BlueJ

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Didaktisierungsvorschläge zum Kalender. Jugend in Deutschland UNTERRICHTSENTWURF Juli. Alles, was Spaß macht: HOBBY UND FREIZEIT

Website freiburg-bahai.de

DATEV Kanzlei Rechnungswesen Pro

Microsoft Access 2010 Navigationsformular (Musterlösung)

Aktualisierung des Internet-Browsers

ANWENDUNG DES WIENER STADTWERKE-LOGOS

Version White Paper ZS-TimeCalculation und die Zusammenarbeit mit dem iphone, ipad bzw. ipod Touch

zur Sage New Classic 2015

Visualisierung von Grundrechten: Fotoaktion und Plakate

Anleitung über den Umgang mit Schildern

Ich möchte meine Beitragsnachweise nach dem vereinfachten Schätzverfahren erstellen.

In diesem Skript werden einige Plot-Typen und Funktionen beschrieben, die für die allgemeine Datenanalyse nützlich sind.

Installation OMNIKEY 3121 USB

Angaben zu einem Kontakt...1 So können Sie einen Kontakt erfassen...4 Was Sie mit einem Kontakt tun können...7

GEARWHEEL V4.0 - Release Notes ( )

Aufgabe Bestimmung Angebotsfunktion, Marktgleichgewicht und Steuerinzidenz

Monatstreff für Menschen ab 50 Merkblatt 69 EXCEL Peter Aeberhard, Computeria Olten

GEOPROCESSING UND MODELBUILDER

ACDSee 10. ACDSee 10: Fotos gruppieren und schneller durchsuchen. Was ist Gruppieren? Fotos gruppieren. Das Inhaltsverzeichnis zum Gruppieren nutzen

Befragt wurden Personen zwischen 14 und 75 Jahren von August bis September Einstellung zur Organ- und Gewebespende (Passive Akzeptanz)

Starten sie WordPad über das Startmenü von Windows. WordPad finden Sie im Ordner Zubehör.

LU-Zerlegung. Zusätze zum Gelben Rechenbuch. Peter Furlan. Verlag Martina Furlan. Inhaltsverzeichnis. 1 Definitionen.

Informationen zum Ambulant Betreuten Wohnen in leichter Sprache

Bedienungsanleitung GYMplus

Transkript:

Fakultät Maschinenwesen Institut für Verarbeitungsmaschinen und mobile Arbeitsmaschinen 2D - Plotten / Visualisierung mit numpy und matplotlib 06.06.2011 Sebastian Voigt

Wie was wo warum? Visualisierung von Messdaten, Simulationsergebnissen etc. Publikationsfertige Grafiken für Studien- und Diplomarbeiten, Dissertationen wissenschaftliche Artikel und Beiträge TU Dresden, 06.06.2011 Präsentationsname XYZ Folie 2 von XYZ

Python Pakete für Visualisierung allg. zahlreiche Pakete, die (nicht nur 2D) Plotfunktionalitäten bereitstellen: gnuplot-py GnuPlot interface Chaco schnelle 2D-lib von Enthought PyQwt Plotwidgets für Qt Mayavi Vtk Übersicht: http://wiki.python.org/moin/numericandscientific/plotting TU Dresden, 06.06.2011 Präsentationsname XYZ Folie 3 von XYZ

Quasi-Standard für 2D numpy numeric python Grundlage für nahezu alle Pakete, die irgendwie numerisch rechnen Kern: n-dimensionale Array-Klasse Lineare Algebra vertiefende Veranstaltung im Pythonkurs http://numpy.scipy.org/ matplotlib Quasi-Standard für 2D-Plotten mit Python Syntax an Matlab angelehnt einfach für Umsteiger Sehr umfangreiche Plotfunktionen Qualitativ hochwertige Ergebnisse Gute Doku http://matplotlib.sourceforge.net/ TU Dresden, 06.06.2011 Präsentationsname XYZ Folie 4 von XYZ

Einführung numpy Tutorial zum Nachlesen: http://www.scipy.org/tentative_numpy_tutorial Und los geht s: >>> from numpy import * >>> a = array( (1,2,3) ) >>> a array([1,2,3]) >>> b = array( ((1,2,3),(2,3,4)) ) >>> b array([[1,2,3], [3,4,5]]) TU Dresden, 06.06.2011 Präsentationsname XYZ Folie 5 von XYZ

Einführung numpy Weitere Möglichkeiten, Arrays zu generieren: >>> linspace(0,1,6) array([ 0., 0.2, 0.4, 0.6, 0.8, 1. ]) >>> arange(0,10,1) array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) Spezielle Arrays / Matrizen: >>> zeros((2,3)) >>> ones((2,3)) >>> diag((1,2,3)) >>> eye(3) TU Dresden, 06.06.2011 Präsentationsname XYZ Folie 6 von XYZ

Rechnen mit arrays Alle Operationen werden elementweise ausgeführt! >>> 2*a array([2, 4, 6]) >>> sin(a) array([ 0.84147098, 0.90929743, 0.14112001]) >>> abs(-a) array([1, 2, 3]) Länge eines Vektors, echte Matrix-Multiplikation: >>> from numpy.linalg import norm >>> norm(a) 3.7416573867739413 >>> dot(a,a) 14 TU Dresden, 06.06.2011 Präsentationsname XYZ Folie 7 von XYZ

Stapeln Zusammenfügen von Arrays: >>> hstack((a,a)) array([1, 2, 3, 1, 2, 3]) >>> vstack((a,b)) array([[1, 2, 3], [1, 2, 3], [2, 3, 4]]) >>> hstack((a, b.flatten())) array([1, 2, 3, 1, 2, 3, 2, 3, 4]) TU Dresden, 06.06.2011 Präsentationsname XYZ Folie 8 von XYZ

Slicing Wie komme ich an die Werte im Array ran? grundsätzlich: a[start:stop:step] >>> a[0] einzelnes Element 1 >>> a[0:1] Bereich aus dem Array array([1]) >>> a[0:2] array([1,2]) >>> a[::-1] kehrt Reihenfolge um array([3,2,1]) >>> b[:,0] alle Werte der ersten Spalte array([1,2]) >>> b[0,1] äquivalent zu b[0][1] 2 TU Dresden, 06.06.2011 Präsentationsname XYZ Folie 9 von XYZ

Matplotlib - Einstieg Zwei Möglichkeiten der Verwendung: (1) interaktiv in der Konsole (pylab) (2) objektorientiert in Skripten und Anwendungen (pyplot) Einführungsbeispiel from matplotlib.pylab import * x = linspace(0,6.28,100) y = sin(x) plot(x,y) show() TU Dresden, 06.06.2011 Präsentationsname XYZ Folie 10 von XYZ

Anständiger Plot Komplettierung mit Beschriftungen, Legende, Hilfslinien, Titel: from matplotlib.pylab import * x = linspace(0,6.28,100) y = sin(x) title('sinusfunktion') plot(x,y, label='sin(x)') xlabel('x') ylabel('y') legend() grid() show() TU Dresden, 06.06.2011 Präsentationsname XYZ Folie 11 von XYZ

Objektorientierte Variante Für komplexere Aufgaben wird i.d.r. Skript geschrieben: import matplotlib.pyplot as plt import numpy as np x = np.linspace(0,6.28,100) y = np.sin(x) fig = plt.figure(figsize=(8,6)) ax = fig.add_subplot(1,1,1) ax.set_title('sinusfunktion') ax.plot(x,y, label='sin(x)') ax.set_xlabel('x') ax.set_ylabel('y') ax.legend() ax.grid() plt.show() TU Dresden, 06.06.2011 Präsentationsname XYZ Folie 12 von XYZ

Begriffe figure title legend gridlines axes xticklines xticks xticklabels xaxis xlabel TU Dresden, 06.06.2011 Präsentationsname XYZ Folie 13 von XYZ

Wo bekomme ich Hilfe? Matplotlib ist sehr umfangreich und komplex Doku unter http://matplotlib.sourceforge.net/contents.html Tipp 1: gallery und von da abgucken Tipp 2: Dokumentation der Axes-Klasse http://matplotlib.sourceforge.net/api/axes_api.html?highlight=axes subplot#matplotlib.axes.axes Alle Plot- und Zeichenfunktionen sind über die Axes-Klasse zu erreichen! plot(), bar(), scatter(), arrow(), Besonders wichtig: Keyword-Argumente Siehe auch Cheatsheet! TU Dresden, 06.06.2011 Präsentationsname XYZ Folie 14 von XYZ

Häufig benötigte Einstellungen ax.set_aspect( equal ) Seitenverhältnis 1:1 ax.set_xlim(0,10) Wertebereich der x-achse ax.set_xticklabels([ a, b ]) eigene Beschriftungen ax.legend(loc=1) ax.tick_params(kwargs**) Position der Legende Optik Achsenbeschriftung leg = ax.legend(loc=0) for t in leg.get_texts(): t.set_fontsize(13) Schriftgröße Legende Grundsätzlich auch: setp() ermöglicht das setzten von Eigenschaften von Objekten getp() liefert die Objekte und deren kwargs (Introspection) TU Dresden, 06.06.2011 Präsentationsname XYZ Folie 15 von XYZ

LaTeX und matplotlibrc Matplotlib bringt eigenen (reduzierten) LaTeX Compiler mit Ausprobieren: ax.plot(x,y, label='$sin(x)$') ax.set_ylabel('$\mu_2$') Optionen können global in rc gesetzt werden: import matplotlib as mpl mpl.rc('font',**{'family':'serif', 'size':11, 'serif':['computer Modern Roman']}) mpl.rc('text', usetex=true) Damit werden alle strings mit LaTeX compiliert TU Dresden, 06.06.2011 Präsentationsname XYZ Folie 16 von XYZ