Ansichtssache
Neben den bislang vorgestellten einfachen Grafikobjekten wie Punkten und Linien bietet Ggplot2 ein umfangreiches Repertoire grafischer Elemente an, die der Anwender praktisch beliebig miteinander kombinieren kann. Abbildung 2 zeigt eine kleine Auswahl davon, eine vollständige Liste findet sich auf der Ggplot2-Homepage [3].
Zurück zum vollständigen Demo-Datensatz: Gegenüber der eingeschränkten Variante enthält er mehrere Algorithmentypen. Sie sollen durch die unterschiedliche Form (»shape«
) der Plot-Symbole erkennbar sein. Der Aufruf in Listing 4 erzeugt den Plot in Abbildung 3. Neben der kompletten Datenquelle »dat«
anstelle der Teilmenge »dat.sub«
und der »shape«
-Ästhetik enthält der Code eine weitere Neuerung: Die Größe der mit »geom_point()«
erzeugten Punkte ist mittels »size«
auf »3«
gesetzt und damit gegenüber der Standardeinstellung 2 etwas vergrößert.
Listing 4
Verschiedene Formen
01 g <- ggplot(data=dat, 02 aes(x=Datenumfang, y=Durchsatz, 03 colour=Konfiguration, 04 shape=Algorithmus)) + 05 geom_point(size=3) + geom_line() + 06 scale_x_log10()
Zu den direkt im »ggplot«
-Objekt eingestellten Ästhetiken gibt es zwei Unterschiede: Erstens ist die Einstellung nicht an die Daten gekoppelt, sondern verwendet einen fixen Wert. Daher ist auch keine Einbindung über den »aes«
-Parameter nötig, die Einstellung erfolgt direkt. Zweitens gilt die Vorgabe nur für die Punkt-Ebene, beeinflusst also die ebenfalls eingezeichneten Linien nicht. Nicht alle grafischen Elemente kennen alle ästhetischen Abbildungen: Wie Abbildung 3 zeigt, unterstützen nur Punkte, aber nicht Linien die Angabe »shape«
.
Der letzte Zusatz, »scale_x_log10()«
, führt eine Skalentransformation durch: Anstelle der linearen kommt für die x-Achse nun eine logarithmische Skala zur Verwendung. Dass Ggplot2 auch in diesem Fall die Achsen so anpasst, dass alle Ebenen passend untergebracht sind, versteht sich von selbst.
Facetting
Eine aussagekräftige Abbildung soll möglichst viele Informationen enthalten, um alle Facetten der Daten wiederzugeben. Natürlich birgt dies die Gefahr, überfrachtete und ohne langes Meditieren unverständliche Plots zu erzeugen. (Die Grenze ist fließend: Während es dem Leser wissenschaftlicher Monografien durchaus zuzumuten ist, zehn Minuten über eine Abbildung nachzudenken, wird die Freude in der Redaktion von Boulevardzeitungen tendenziell geringer ausfallen.) Eine mögliche Lösung besteht darin, die Facetten der Daten nicht implizit über Farben und Symbole, sondern explizit über Untergraphen darzustellen.Ggplot2 setzt dies über das Facetten-Konzept um, das mittels »facet_grid()«
verfügbar ist.
Um die Daten wie in Abbildung 4 auf mehrere Untergraphen zu verteilen, ist die Befehlssequenz aus Listing 5 notwendig. Der Ausdruck »facet_grid(~Konfiguration)«
legt fest, dass Ggplot2 für alle möglichen Konfigurationen (also A, B und C) einen eigenen Unterplot anlegt. Jeder Unterplot zeigt eine eigene Teilmenge der Gesamtdaten, verwendet aber identische Ebenen und ästhetische Mappings.
Listing 5
Facetten
01 g <- ggplot(data=dat, 02 aes(x=Datenumfang, y=Durchsatz, 03 colour=Algorithmus)) + 04 geom_point(aes(colour=Algorithmus)) + 05 facet_grid(~Konfiguration)
Diesen Artikel als PDF kaufen
Express-Kauf als PDF
Umfang: 5 Heftseiten
Preis € 0,99
(inkl. 19% MwSt.)
Als digitales Abo
Weitere Produkte im Medialinx Shop »
Versandartikel
Onlineartikel
Alle Rezensionen aus dem Linux-Magazin
- Buecher/07 Bücher über 3-D-Programmierung sowie die Sprache Dart
- Buecher/06 Bücher über Map-Reduce und über die Sprache Erlang
- Buecher/05 Bücher über Scala und über Suchmaschinen-Optimierung
- Buecher/04 Bücher über Metasploit sowie über Erlang/OTP
- Buecher/03 Bücher über die LPI-Level-2-Zertifizierung
- Buecher/02 Bücher über Node.js und über nebenläufige Programmierung
- Buecher/01 Bücher über Linux-HA sowie über PHP-Webprogrammierung
- Buecher/12 Bücher über HTML-5-Apps sowie Computer Vision mit Python
- Buecher/11 Bücher über Statistik sowie über C++-Metaprogrammierung
- Buecher/10 Bücher zu PHP-Webbots sowie zur Emacs-Programmierung
Insecurity Bulletin
Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...





