Balkendiagramm Musterfüllung ggplot

Wie erstelle ich Grafiken, was ist zu beachten?

Moderatoren: EDi, jogo

Antworten
flip_0207
Beiträge: 23
Registriert: Do Dez 06, 2018 7:46 pm

Balkendiagramm Musterfüllung ggplot

Beitrag von flip_0207 »

Hallo

Gibt es eine Möglichkeit, bei (gestapelten) Balkendiagrammen statt einer Farbe ein Muster zu verwenden? Konnte bisher für ggplot keine einfach (!) umsetzbare Möglichkeit finden.

Hintergrund: Ich darf für eine Projektarbeit Grafiken erstellen, die aber zwingend auch schwarz-weiß gedruckt lesbar sein muss. Da ich sechs Varianten mit jeweils 2 unterschiedlichen Faktoren habe, komme ich auf 12 verschiedene Farben. Daher würde ich gerne zumindest die Ausprägung der 2 Faktoren mit Mustern darstellen wollen. 12 Grautöne zu unterscheiden halte ich für schwierig ;)

Anbei eine mit Excel erstellte Beispielgrafik. Das ganze in Excel umzusetzen ist keine Option, da ich insgesamt ca. 20 Grafiken erstellen muss und sich die Datensätze noch ändern können.
Dateianhänge
Beispiel Balkendiagramm.xlsx
(19.54 KiB) 47-mal heruntergeladen
Beispiel Balkendiagramm.jpg
bigben
Beiträge: 2780
Registriert: Mi Okt 12, 2016 9:09 am

Re: Balkendiagramm Musterfüllung ggplot

Beitrag von bigben »

Wie wäre es mit base graphics. Das ist weder Excel noch ggplot2 und zu einer Zeit entstanden, als SChraffierungen noch die REgel waren. z. B.

Code: Alles auswählen

barplot(1:12, density = 12, angle = 15*(0:11))
legend("topleft", density=12, angle=15*(0:11), 
       legend = LETTERS[1:12] , ncol = 2, inset=.03)
LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
flip_0207
Beiträge: 23
Registriert: Do Dez 06, 2018 7:46 pm

Re: Balkendiagramm Musterfüllung ggplot

Beitrag von flip_0207 »

bigben hat geschrieben: Mo Jan 20, 2020 10:33 am Wie wäre es mit base graphics. Das ist weder Excel noch ggplot2 und zu einer Zeit entstanden, als SChraffierungen noch die REgel waren. z. B.

Code: Alles auswählen

barplot(1:12, density = 12, angle = 15*(0:11))
legend("topleft", density=12, angle=15*(0:11), 
       legend = LETTERS[1:12] , ncol = 2, inset=.03)
LG,
Bernhard
Danke für die schnelle Antwort!

Ja, das wäre ein Weg, bei dem allerdings ein paar Eigenschaften der Grafik verloren gehen, die ich mit ggplot relativ gut hinkriege.

Schön wäre es, das mit ggplot zu machen, u.a. weil dafür das Skript quasi schon fertig ist.
ruedi_br
Beiträge: 159
Registriert: Do Mär 01, 2018 3:53 pm

Re: Balkendiagramm Musterfüllung ggplot

Beitrag von ruedi_br »

Einmal nachgefragt: ist die endgültige Grafik so geplant wie das Excelbeispiel? Dann frage ich, wieso ich zusätzlich zu der unterschiedlichen Beschreibung der 6 Faktoren auch noch unterschiedliche Farben brauchen soll?
Und wenn in den ca. 20 Grafiken jeweils die gleichen Faktoren enthalten sind (nur in unterschiedlicher Größe), wären dann alternativen Darstellungsformen denkbar (z.B. Polarkoordinaten)?
:?:
Grüße
Ruedi
fortune(111)
flip_0207
Beiträge: 23
Registriert: Do Dez 06, 2018 7:46 pm

Re: Balkendiagramm Musterfüllung ggplot

Beitrag von flip_0207 »

ruedi_br hat geschrieben: Mo Jan 20, 2020 11:26 am Einmal nachgefragt: ist die endgültige Grafik so geplant wie das Excelbeispiel? Dann frage ich, wieso ich zusätzlich zu der unterschiedlichen Beschreibung der 6 Faktoren auch noch unterschiedliche Farben brauchen soll?
Und wenn in den ca. 20 Grafiken jeweils die gleichen Faktoren enthalten sind (nur in unterschiedlicher Größe), wären dann alternativen Darstellungsformen denkbar (z.B. Polarkoordinaten)?
:?:
Grüße
Ruedi
Die endgültige Grafik soll so aussehen, wie das Excel Beispiel, bloß mit 6 Varianten, statt 3 wie im Beispiel. Am Ende werde ich ca. 20 Grafiken erstellen müssen, die jeweils 6 Variablen mit 2 Faktoren aufweisen. Mir persönlich würden zwei Farben reichen, also z.B. hellgrau für Wurzel und dunkelgrau für Spross. Die 6 Variablen könnte man ja anhand der Achsenbeschriftung erkennen. Leider habe ich die Vorgabe, da mit Mustern zu arbeiten.

Alternative Darstellungsformen funktionieren leider nicht. Hatte auch schon über andere Grafiken nachgedacht, aber der Datensatz gibt leider nicht mehr her.
Athomas
Beiträge: 769
Registriert: Mo Feb 26, 2018 8:19 pm

Re: Balkendiagramm Musterfüllung ggplot

Beitrag von Athomas »

Dazu sagte der Meister (https://stackoverflow.com/questions/289 ... in-ggplot2) in 2010 - und es gab in der Folgezeit kein Update/Ergänzung:
It's not currently possible because grid (the graphics system that ggplot2 uses to do the actual drawing) doesn't support textures. Sorry!
Auf die Abhängigkeit von grid wird offenbar nur dann hingewiesen, wenn es Schwierigkeiten gibt :lol: !
flip_0207
Beiträge: 23
Registriert: Do Dez 06, 2018 7:46 pm

Re: Balkendiagramm Musterfüllung ggplot

Beitrag von flip_0207 »

Athomas hat geschrieben: Mo Jan 20, 2020 11:48 am Dazu sagte der Meister (https://stackoverflow.com/questions/289 ... in-ggplot2) in 2010 - und es gab in der Folgezeit kein Update/Ergänzung:
It's not currently possible because grid (the graphics system that ggplot2 uses to do the actual drawing) doesn't support textures. Sorry!
Auf die Abhängigkeit von grid wird offenbar nur dann hingewiesen, wenn es Schwierigkeiten gibt :lol: !
Danke, dann komme ich wohl nicht drumherum, mir base graphic anzueignen. Bevor ich damit jetzt starte, gibt es evtl. ein anderes package für Grafiken, das ich mir näher anschauen sollte? Gibt ja noch lattice, ggvis, plotly und wahrscheinlich noch viele mehr.
bigben
Beiträge: 2780
Registriert: Mi Okt 12, 2016 9:09 am

Re: Balkendiagramm Musterfüllung ggplot

Beitrag von bigben »

@flip: Ja, es gibt viele gute Systeme. Lattice war mal der Hype, bevor ggplot so modern wurde. Bloß weil es jetzt nicht mehr gehyped wird, ist es aber nicht schlechter geworden, als es war. Modernere Systeme nutzen oft JavaScript und sind gut, wenn man Daten in einer Webseite anzeigen und interaktiv machen will: Dann kann man mit der Maus über den Plot gehen und Dinge hervorherben, Ausschnitte machen, Zahlen zu den Werten zeigen lassen. Kurzum, es geht um Funktionen, die in der schwarz-weiß-Kopie auf Papier nicht sooo viel bringen. Ob es eine Übersicht gibt, welche davon Schraffierungen kennen bezweifle ich und befürchte, dass Du Dich durchklicken musst: highcharter ggivs, highcharter, dygraphs, taucharts, metricsgraphics, plotly - wenn Du eine vollständige Übersicht erstellt hast, würden wir uns über einen entsprechenden Post hier sehr freuen :)
Wenn Du gar keine Lust auf base hast könntest Du überlegen, ob Du in ggplot2 vielleicht eine aussagekräftige Beschriftung der Balken mit Buchstaben hinkriegst. Siehe z. B. ggrepel

@Athomas:
Auf die Abhängigkeit von grid wird offenbar nur dann hingewiesen, wenn es Schwierigkeiten gibt :lol: !
Der war gut!

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Antworten