Boxplot mit einzelnen Datenpunkten / Jitterplot bei Messwiederholung

Wie erstelle ich Grafiken, was ist zu beachten?

Moderatoren: EDi, jogo

8ZRbP
Beiträge: 60
Registriert: Do Okt 13, 2016 11:56 am

Boxplot mit einzelnen Datenpunkten / Jitterplot bei Messwiederholung

Beitrag von 8ZRbP »

Hallo zusammen,

ich möchte ein bzw. mehrere Diagramme erstellen. In dem Diagramm sollen jeweils zwei Boxplots abgetragen sein, wobei der erste Boxplot die Daten zu Messzeitpunkt t1, der zweite Boxplot die Daten zu Messzeitpunkt t2 wiedergibt. Überdies sollen jeweils zu jedem Boxplot die einzelnen Datenpunkte abgetragen werden.

Das ganze soll in etwa so aussehen wie hier: https://statistik-dresden.de/wp-content ... plots2.png . Oder von mir aus auch wie hier: https://scriptsandstatistics.files.word ... 504&zoom=2

Einziger Unterschied zu den verlinkten Beispielen: Bei den verlinkten Beispielen werden zwei Gruppen miteinander verglichen, bei mir ist es so, dass zwei Messzeitpunkte miteinander verglichen werden sollen.
Wie die Ersteller der o.g. Beispiel habe ich es mit dem Paket ggplot2 versucht. Hier auch das Manual zum Paket ggplot2: https://cran.r-project.org/web/packages ... gplot2.pdf

Am liebsten wäre mir, wenn ich einen kleinen Codeschnipsel als Vorlage finde, den ich dann für meine Zwecke anpassen kann. Bei Google finde ich zahlreiche Codeschnipsel mit der Suche "boxplot ggplot2 jitter": https://www.google.com/search?q=boxplot ... 20&bih=579

Ich habe den ein oder anderen der o.g. Codeschnipsel ausprobiert, da kommen teilweise optisch schon sehr ansprechende Diagramme dabei raus :). Dummerweise sind alle die Codeschnipsel die ich gefunden habe für Gruppenvergleiche, d.h. die Boxplots vergleichen mehrere Gruppen. Ich will aber keine Gruppenvergleiche machen, sondern Messwiederholungen (zweifache Messwiederholungen), d.h. meine beiden Boxplots sollen zwei Messzeitpuntke vergleichen.

Für "boxplot ggplot2 jitter repeated" habe ich nichts brauchbares gefunden: https://www.google.com/search?q=boxplot ... 20&bih=579 .

Mag sein, dass ich etwas übersehen oder falsch gesucht habe. Kennt jemand zufällig einen Codeschnipsel für meine Zwecke oder einen passenden Link? (Boxplot mit Jitter-Plot für zweifache Messwiederholung).


Ich freue mich über jeden Hinweis!

Besten Dank und Grüße
8ZRbP
8ZRbP
Beiträge: 60
Registriert: Do Okt 13, 2016 11:56 am

Re: Boxplot mit einzelnen Datenpunkten / Jitterplot bei Messwiederholung

Beitrag von 8ZRbP »

Hallo nochmal,

mittlerweile bin ich so vorgegangen: Ich habe den folgenden Code verwendet (der u.s. Code lässt sich nach Installation von ggplot2 auf jedem PC ausführen, ein zusätzliches DataSet ist nicht erforderlich):

Code: Alles auswählen

# Add Boxplot to R ggplot Jitter

# Importing the ggplot2 library
library(ggplot2)

# Creating basic Jitter
ggplot(ChickWeight, aes(x = Diet, y = weight)) + 
  geom_boxplot() +
  geom_jitter(position = position_jitter(0.5), aes(colour = Diet))
Der o.g. Code ist jedoch Gruppenvergleiche vorgesehen, ich will ja Messwiederholungen vergleichen. Um dieses Problem zu umgehen, habe ich halt meinen Datensatz umstrukturiert, von der breiten in die lange Form (d.h. vom wide format ins long format), d.h. die Messwiederholungen sind dann zeilenweise abgetragen, nicht mehr spaltenweise wie zuvor.

Es kommt dann ein Diagramm ähnlich wie dieses hier raus (nur, dass es bei mir halt zwei Boxplots sind anstelle vier): https://www.tutorialgateway.org/wp-cont ... tter-7.png

Diese Lösung ist für mich okay (auch wenn ich nach wie vor für Lösungsvorschläge offen bin, die kein Umstrukturieren des Datensatz von der breiten in die lange Form erfordern). Dennoch würde ich an dem Diagramme gerne noch ein paar Sachen verbessern, wäre froh, hier noch den ein oder anderen Hinweis zu erhalten:

Must-have:
- Die folgenden Datenpunkte im Boxplot sollen mit den entsprechenden Werten beschriftet sein: 1., 2., 3. und viertes Quartil.


Nice-to-have:
- Die Whisker sollen außen, wie üblich, mit einem kleinen "Querbalken" als "Endstrich" beendet werden und nicht einfach aufhören
- Die y-Achse soll im Koordinatenursprung ebenfalls einen Strich haben der eben mit "0" beschriftet ist.

Was mir an dem Diagramm überdies völlig unklar ist, das würde ich gerne noch aufklären:
- Was bedeuten die schwarzen Datenpunkte? Ausreißer oder Extremwerte können es nicht sein, da es jeweils im gleichen Boxplot auch farbige Punkte gibt, die genauso weit oder noch weiter vom Median entfernt sind ie die schwarzen Datenpunkte.

Über den ein oder anderen Hinweis würde ich mich freuen! :)

Besten Dank und Grüße
8ZRbP
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: Boxplot mit einzelnen Datenpunkten / Jitterplot bei Messwiederholung

Beitrag von bigben »

8ZRbP hat geschrieben: Mo Mär 04, 2019 10:57 pmmittlerweile bin ich so vorgegangen
"mittlerweile" nach einer "Weile" von 80 Minuten.
Um dieses Problem zu umgehen, habe ich halt meinen Datensatz umstrukturiert, von der breiten in die lange Form (d.h. vom wide format ins long format)
Das ist ggplot2 101. ggplot2 will Daten im langen Format.
(auch wenn ich nach wie vor für Lösungsvorschläge offen bin, die kein Umstrukturieren des Datensatz von der breiten in die lange Form erfordern)
Sag niemals nie. Aber ggplot2 will Daten im langen Format.
Der o.g. Code ist jedoch Gruppenvergleiche vorgesehen, ich will ja Messwiederholungen vergleichen. Um dieses Problem zu umgehen, habe ich halt meinen Datensatz umstrukturiert,
Ob Messwiederholungen oder Gruppen, das hat nichts mit der Entscheidung zwischen langem und weitem Format zu tun. Das sind zwei ganz unterschiedliche Kategorien.

Sowohl Boxplots als auch Punktwolken sind unterdessen überhaupt nicht gut für verbundene Beobachtungen geeignet, weil man ja eben gerade nicht sieht, welcher Punkt rechts zu welchem Punkt links gehört. Was man bei Punktwolken noch mit verbindenden Linien reparieren kann, lässt sich beim Boxplot nicht korrigieren. Du solltest nochmal überlegen, ob ein Boxplot für Deine Daten die richtige Darstellungsform ist.
Must-have:
- Die folgenden Datenpunkte im Boxplot sollen mit den entsprechenden Werten beschriftet sein: 1., 2., 3. und viertes Quartil.
Vor dem Must-have -wie gesagt- prüfen, ob Boxplots wirklich angemessen sind bei Deiner Messwiederholungsanalyse. Ansonsten ist das total unüblich, weil ein wissenschaftliches Publikum das i. d. R. weiß und Boxplots für ein nicht-wissenschaftliches Publikum eh nicht taugen. Natürlich kannst Du Dir da selbst was basteln. Da zu schau Dir geom_text und ggf. auch geom_label an.
Nice-to-have:
- Die Whisker sollen außen, wie üblich, mit einem kleinen "Querbalken" als "Endstrich" beendet werden und nicht einfach aufhören
- Die y-Achse soll im Koordinatenursprung ebenfalls einen Strich haben der eben mit "0" beschriftet ist.
Weites Format, Querbalken als Endstrich - hast Du mal überlegt, ob Du base graphics verwenden möchtest? Sonst halt https://stackoverflow.com/questions/129 ... on-boxplot
Was mir an dem Diagramm überdies völlig unklar ist, das würde ich gerne noch aufklären:
Komische Gewichtung, die Du da an den Tag legst: Dass Du Deine eigene Grafik verstehst wäre m. E. "must have" und nicht "würde gerne noch"...
- Was bedeuten die schwarzen Datenpunkte? Ausreißer oder Extremwerte können es nicht sein, da es jeweils im gleichen Boxplot auch farbige Punkte gibt, die genauso weit oder noch weiter vom Median entfernt sind ie die schwarzen Datenpunkte.
Das können nicht nur Ausreißer sein, das sind Ausreißer. Das sind die Ausreißer, die mit dem Aufruf von geom_boxplot in schwarz gezeichnet wurden. Danach hast Du dieselben Puntke nochmal in bunt gemalt.
farbige Punkte gibt, die [...]noch weiter vom Median entfernt sind wie die schwarzen Datenpunkte
Noch weiter ? Oh Mann, da hast Du aber ein ganz dickes Problem an der Backe. Das heißt, dass Du Datenpunkte geplottet hast, die für den Boxplot gar nicht verwendet wurden. Wahrscheinlich ist Dein ggplot2 kaputt, oder R ist kaputt. Heftig, heftig. Oder doch ein Fehler bei Dir? Publizieren solltest Du so einen Plot besser nicht. Einmal kann es vorkommen, dass ein bunter Punkt zufällig genau auf dem schwarzen Punkt zu liegen kommt, aber mehrere Punkt in einem Plot? Vielleicht hast Du ja Jitter nicht nur in der width sondern auch in der height Richtung? Vielleicht hast Du auch das Diagramm nicht genau genug angeschaut? Wie geschrieben: Verstehen des eigenen Plots = "must have".

HTH,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
8ZRbP
Beiträge: 60
Registriert: Do Okt 13, 2016 11:56 am

Re: Boxplot mit einzelnen Datenpunkten / Jitterplot bei Messwiederholung

Beitrag von 8ZRbP »

bigben hat geschrieben: Di Mär 05, 2019 8:15 am
8ZRbP hat geschrieben: Mo Mär 04, 2019 10:57 pmmittlerweile bin ich so vorgegangen
"mittlerweile" nach einer "Weile" von 80 Minuten.
Den ersten Beitrag hatte ich vorgeschrieben, jedoch erst abgeschickt nachdem ich noch einige Stunden Versuche in R durchgeführt habe.


Um dieses Problem zu umgehen, habe ich halt meinen Datensatz umstrukturiert, von der breiten in die lange Form (d.h. vom wide format ins long format)
Das ist ggplot2 101. ggplot2 will Daten im langen Format.
Danke, dann wäre das schon mal geklärt.

Sowohl Boxplots als auch Punktwolken sind unterdessen überhaupt nicht gut für verbundene Beobachtungen geeignet, weil man ja eben gerade nicht sieht, welcher Punkt rechts zu welchem Punkt links gehört. Was man bei Punktwolken noch mit verbindenden Linien reparieren kann, lässt sich beim Boxplot nicht korrigieren. Du solltest nochmal überlegen, ob ein Boxplot für Deine Daten die richtige Darstellungsform ist.
Danke für diesen sehr wichtigen Einwand. Das die einzelnen Punkt nicht miteinander verbunden sind, sehe ich nicht als Malus an. Weil man die Punktewolken ja ohnehin als ganzes betrachtet und eine allgemeine Tendenz kann man m.E. schon aus dem visuellen Vergleich zweier Punktewolken erkennen. Dasselbe gilt für Boxplots.

Wenn es nach mir geht, würde ich auch Diagramme verzichteten. Jedoch bin ich dazu "verdonnert" worden, Diagramme zu erstellen. Zuerst dachte ich an Liniendiagramme. Wenn man auf der y-Achse die ganze Skala abbildet wirkt die Veränderung aber seht klein. Zwar kann man die Veränderung größer wirken lassen, indem man die Skala auf der y-Achse an den Enden entsprechend kürzt, das wäre dann aber manipulativ. Balkendiagramme möcht ich für Mittelwerte hier auch nicht verwenden.

Ich finde die Boxplots mit Jitter trotz Deiner zutreffenden Einwände grundsätzlich immer noch geeignet. Was würdest Du denn für eine Darstellung empfehlen um Längsschnitt darzustellen, wenn es keine Liniendiagramme sein sollen? Gerne lasse ich mich belehren, habe durch die Beschäftigung mit ggplot erstmals von violine plots erfahren, das ist ja auch eine tolle Darstellungsform (für den vorliegenden Zweck möchte ich sie aber nicht verwenden).


Vor dem Must-have -wie gesagt- prüfen, ob Boxplots wirklich angemessen sind bei Deiner Messwiederholungsanalyse. Ansonsten ist das total unüblich, weil ein wissenschaftliches Publikum das i. d. R. weiß und Boxplots für ein nicht-wissenschaftliches Publikum eh nicht taugen. Natürlich kannst Du Dir da selbst was basteln. Da zu schau Dir geom_text und ggf. auch geom_label an.

Die Diagramme sind für ein nichtwissenschaftliches Publikum. Der Einwand, dass Boxplots für Laien zu kompliziert sein könntne ist zutreffend. Andererseits kann man Boxplots dem Laien erklären. Aus den o.g. Gründen halte ich Boxplots mit Jitterplots immer noch für die beste Darstellungsform (außer, Du präsentierst mir jetzt eine völlig neue Darstellungsform, die ich bisher noch nicht kenne).

Weites Format, Querbalken als Endstrich - hast Du mal überlegt, ob Du base graphics verwenden möchtest? Sonst halt https://stackoverflow.com/questions/129 ... on-boxplot
Danke, ich schaue mir das an.

Komische Gewichtung, die Du da an den Tag legst: Dass Du Deine eigene Grafik verstehst wäre m. E. "must have" und nicht "würde gerne noch"...

Das können nicht nur Ausreißer sein, das sind Ausreißer. Das sind die Ausreißer, die mit dem Aufruf von geom_boxplot in schwarz gezeichnet wurden. Danach hast Du dieselben Puntke nochmal in bunt gemalt.
farbige Punkte gibt, die [...]noch weiter vom Median entfernt sind wie die schwarzen Datenpunkte
Noch weiter ? Oh Mann, da hast Du aber ein ganz dickes Problem an der Backe. Das heißt, dass Du Datenpunkte geplottet hast, die für den Boxplot gar nicht verwendet wurden. Wahrscheinlich ist Dein ggplot2 kaputt, oder R ist kaputt. Heftig, heftig. Oder doch ein Fehler bei Dir? Publizieren solltest Du so einen Plot besser nicht. Einmal kann es vorkommen, dass ein bunter Punkt zufällig genau auf dem schwarzen Punkt zu liegen kommt, aber mehrere Punkt in einem Plot? Vielleicht hast Du ja Jitter nicht nur in der width sondern auch in der height Richtung? Vielleicht hast Du auch das Diagramm nicht genau genug angeschaut? Wie geschrieben: Verstehen des eigenen Plots = "must have".
Die Zielgruppe des Diagramms sind wie gesagt keine Wissenschaftler. Die Beantwortung von Fragen die mir diese Zielgruppe garantiert nicht stellen wird, ist mir zwar auch wichtig, sonst würde ich sie nicht stellen, noch wichtiger ist es aber, dass ich in kürze vorzeigbare Diagramme vorweisen kann.

Ansonsten bitte ich zu entschuldigen, dass ich ggplot2 nach den ersten Versuchen noch nicht virtuos beherrsche! ;)

Besten Dank für alle Hinweise und Grüße
8ZRbP
Zuletzt geändert von 8ZRbP am Di Mär 05, 2019 8:15 pm, insgesamt 3-mal geändert.
8ZRbP
Beiträge: 60
Registriert: Do Okt 13, 2016 11:56 am

Re: Boxplot mit einzelnen Datenpunkten / Jitterplot bei Messwiederholung

Beitrag von 8ZRbP »

8ZRbP hat geschrieben: Mo Mär 04, 2019 10:57 pmmittlerweile bin ich so vorgegangen
"mittlerweile" nach einer "Weile" von 80 Minuten.
Den ersten Beitrag hatte ich vorgeschrieben, jedoch erst abgeschickt nachdem ich noch einige Stunden Versuche in ggp2 durchgeführt habe.


Um dieses Problem zu umgehen, habe ich halt meinen Datensatz umstrukturiert, von der breiten in die lange Form (d.h. vom wide format ins long format)
Das ist ggplot2 101. ggplot2 will Daten im langen Format.
Danke, dann wäre das schon mal geklärt.

Sowohl Boxplots als auch Punktwolken sind unterdessen überhaupt nicht gut für verbundene Beobachtungen geeignet, weil man ja eben gerade nicht sieht, welcher Punkt rechts zu welchem Punkt links gehört. Was man bei Punktwolken noch mit verbindenden Linien reparieren kann, lässt sich beim Boxplot nicht korrigieren. Du solltest nochmal überlegen, ob ein Boxplot für Deine Daten die richtige Darstellungsform ist.
Danke für diesen sehr wichtigen Einwand. Das die einzelnen Punkt nicht miteinander verbunden sind, sehe ich nicht als Malus an. Weil man die Punktewolken ja ohnehin als ganzes betrachtet und eine allgemeine Tendenz kann man m.E. schon aus dem visuellen Vergleich zweier Punktewolken erkennen. Dasselbe gilt für Boxplots.

Wenn es nach mir ginge, würde ich für den vorliegenden Zweck auf Diagramme vollständig verzichteten. Dummerweise bin ich dazu verdonnert worden, Diagramme zu erstellen. Zuerst dachte ich an Liniendiagramme. Wenn man auf der y-Achse die ganze Skala abbildet wirkt die Veränderung aber sehr klein. Zwar kann man die Veränderung größer wirken lassen, indem man die Skala auf der y-Achse an den Enden entsprechend kürzt, das wäre dann aber manipulativ. Balkendiagramme möcht ich für Mittelwerte hier auch nicht verwenden.

Ich finde die Boxplots mit Jitter trotz Deiner zutreffenden Einwände grundsätzlich immer noch geeignet. Was würdest Du denn für eine Darstellung empfehlen um Längsschnitt darzustellen, wenn es keine Liniendiagramme sein sollen? Gerne lasse ich mich belehren, habe durch die Beschäftigung mit ggplot erstmals von violine plots erfahren, das ist ja auch eine tolle Darstellungsform (für den vorliegenden Zweck möchte ich sie aber nicht verwenden).


Vor dem Must-have -wie gesagt- prüfen, ob Boxplots wirklich angemessen sind bei Deiner Messwiederholungsanalyse. Ansonsten ist das total unüblich, weil ein wissenschaftliches Publikum das i. d. R. weiß und Boxplots für ein nicht-wissenschaftliches Publikum eh nicht taugen. Natürlich kannst Du Dir da selbst was basteln. Da zu schau Dir geom_text und ggf. auch geom_label an.

Die Diagramme sind für ein nichtwissenschaftliches Publikum. Der Einwand, dass Boxplots für Laien zu kompliziert sein könntne ist zutreffend. Andererseits kann man Boxplots dem Laien erklären. Aus den o.g. Gründen halte ich Boxplots mit Jitterplots immer noch für die beste Darstellungsform (außer, Du präsentierst mir jetzt eine völlig neue Darstellungsform, die ich bisher noch nicht kenne).

Weites Format, Querbalken als Endstrich - hast Du mal überlegt, ob Du base graphics verwenden möchtest? Sonst halt https://stackoverflow.com/questions/129 ... on-boxplot
Danke, ich schaue mir das an.

Komische Gewichtung, die Du da an den Tag legst: Dass Du Deine eigene Grafik verstehst wäre m. E. "must have" und nicht "würde gerne noch"...

Das können nicht nur Ausreißer sein, das sind Ausreißer. Das sind die Ausreißer, die mit dem Aufruf von geom_boxplot in schwarz gezeichnet wurden. Danach hast Du dieselben Puntke nochmal in bunt gemalt.
farbige Punkte gibt, die [...]noch weiter vom Median entfernt sind wie die schwarzen Datenpunkte
Noch weiter ? Oh Mann, da hast Du aber ein ganz dickes Problem an der Backe. Das heißt, dass Du Datenpunkte geplottet hast, die für den Boxplot gar nicht verwendet wurden. Wahrscheinlich ist Dein ggplot2 kaputt, oder R ist kaputt. Heftig, heftig. Oder doch ein Fehler bei Dir? Publizieren solltest Du so einen Plot besser nicht. Einmal kann es vorkommen, dass ein bunter Punkt zufällig genau auf dem schwarzen Punkt zu liegen kommt, aber mehrere Punkt in einem Plot? Vielleicht hast Du ja Jitter nicht nur in der width sondern auch in der height Richtung? Vielleicht hast Du auch das Diagramm nicht genau genug angeschaut? Wie geschrieben: Verstehen des eigenen Plots = "must have".
Die Zielgruppe des Diagramms sind wie gesagt keine Wissenschaftler. Die Beantwortung von Fragen die mir diese Zielgruppe garantiert nicht stellen wird, ist mir zwar auch wichtig, sonst würde ich sie nicht stellen, noch wichtiger ist es aber, dass ich in Kürze vorzeigbare Diagramme vorweisen kann ;).

Ansonsten bitte ich zu entschuldigen, dass ich ggplot2 nach den ersten Versuchen noch nicht virtuos beherrsche! ;)

Besten Dank für alle Hinweise und Grüße
8ZRbP
[/quote]
8ZRbP
Beiträge: 60
Registriert: Do Okt 13, 2016 11:56 am

Re: Boxplot mit einzelnen Datenpunkten / Jitterplot bei Messwiederholung

Beitrag von 8ZRbP »

bigben hat geschrieben: Di Mär 05, 2019 8:15 am
- Was bedeuten die schwarzen Datenpunkte? Ausreißer oder Extremwerte können es nicht sein, da es jeweils im gleichen Boxplot auch farbige Punkte gibt, die genauso weit oder noch weiter vom Median entfernt sind ie die schwarzen Datenpunkte.
Das können nicht nur Ausreißer sein, das sind Ausreißer. Das sind die Ausreißer, die mit dem Aufruf von geom_boxplot in schwarz gezeichnet wurden. Danach hast Du dieselben Puntke nochmal in bunt gemalt.
farbige Punkte gibt, die [...]noch weiter vom Median entfernt sind wie die schwarzen Datenpunkte
Noch weiter ? Oh Mann, da hast Du aber ein ganz dickes Problem an der Backe. Das heißt, dass Du Datenpunkte geplottet hast, die für den Boxplot gar nicht verwendet wurden. Wahrscheinlich ist Dein ggplot2 kaputt, oder R ist kaputt. Heftig, heftig. Oder doch ein Fehler bei Dir? Publizieren solltest Du so einen Plot besser nicht. Einmal kann es vorkommen, dass ein bunter Punkt zufällig genau auf dem schwarzen Punkt zu liegen kommt, aber mehrere Punkt in einem Plot? Vielleicht hast Du ja Jitter nicht nur in der width sondern auch in der height Richtung? Vielleicht hast Du auch das Diagramm nicht genau genug angeschaut? Wie geschrieben: Verstehen des eigenen Plots = "must have".

Habe mir jetzt noch mal beide Plots "einzeln" angesehen. Die Frage nach den "schwarzen Punkten" hat sich damit geklärt, besten Dank für Deine Anregung.
8ZRbP
Beiträge: 60
Registriert: Do Okt 13, 2016 11:56 am

Re: Boxplot mit einzelnen Datenpunkten / Jitterplot bei Messwiederholung

Beitrag von 8ZRbP »

Hallo,

nach viel Recherchieren und Ausprobieren sieht das Diagramm jetzt zu 90 % so aus, wie ich es mir wünsche (bis auf zwei Kleinigkeiten, ich gehe u.s. noch darauf ein). "Whisker-Endstriche" habe ich auch. Die Beschriftung von Datenpunkten hätte auch funktioniert, mittlerweile möchte ich darauf jedoch verzichten.


Hier der Code:

Code: Alles auswählen

  library(ggplot2)
  ggplot(importiert, aes(x = Messzeitpunkt, y = Sprachkompetenz), )   +
  coord_cartesian(xlim = c(0.5,2.5), ylim = c(0,10)) +
  geom_boxplot(  ) +
  stat_boxplot(geom = "errorbar", width = 0.5) +
  geom_jitter( position = position_jitter(0.5), aes(colour = Messzeitpunkt), show.legend=FALSE ) +
  theme(axis.title.y = element_text(angle=0))
Der Chart der bei Ausführung o.s. Codes herauskommt ist im ersten u.s. Datei-Upload zu sehen.

Was ich bisher noch nicht umsetzen konnte sind diese beiden Sachen:

1. Ich möchte den Abstand zwischen den beiden Boxplots (und somit auch zwischen den Punktewolken) etwas vergrößern (die x-Achse soll aber grundsätzlich gleich bleiben)

2. Die Beschriftung der y-Achse soll nicht links neben dem Diagramm stehen, sodern direkt "über" der y-Achse (so wie im zweiten Datei-Upload beispielhaft annähernd an einem Excel-Diagramm dargestellt).


Hier noch den ein oder anderen Hinweis zu bekommen, würde mich freuen. Jeder noch so kleine Hinweis könnte mir helfen. :)

Besten Dank und Grüße,
8ZRbP
Dateianhänge
testdiagram ggt2.png
testdiagram ggt2.png (4.35 KiB) 5212 mal betrachtet
yachse beschriftung beipsiel.png
yachse beschriftung beipsiel.png (2.54 KiB) 5212 mal betrachtet
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Boxplot mit einzelnen Datenpunkten / Jitterplot bei Messwiederholung

Beitrag von EDi »

1. Ich möchte den Abstand zwischen den beiden Boxplots (und somit auch zwischen den Punktewolken) etwas vergrößern (die x-Achse soll aber grundsätzlich gleich bleiben)
Ich würde die boxen und das jitter schmäler machen.
2. Die Beschriftung der y-Achse soll nicht links neben dem Diagramm stehen, sodern direkt "über" der y-Achse (so wie im zweiten Datei-Upload beispielhaft annähernd an einem Excel-Diagramm dargestellt).
So hier?

Code: Alles auswählen

require(ggplot2)

ggplot() +
  labs(y = 'y-axis') +
  theme(axis.title.y = element_text(angle = 0, 
                                    margin = margin(t = 0, r = -20, b = 0, l = 0)))
        
        
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.
8ZRbP
Beiträge: 60
Registriert: Do Okt 13, 2016 11:56 am

Re: Boxplot mit einzelnen Datenpunkten / Jitterplot bei Messwiederholung

Beitrag von 8ZRbP »

EDi hat geschrieben: Mi Mär 06, 2019 9:54 pm
1. Ich möchte den Abstand zwischen den beiden Boxplots (und somit auch zwischen den Punktewolken) etwas vergrößern (die x-Achse soll aber grundsätzlich gleich bleiben)
Ich würde die boxen und das jitter schmäler machen.
Danke für den Hinweis, das habe ich so gemacht.

2. Die Beschriftung der y-Achse soll nicht links neben dem Diagramm stehen, sodern direkt "über" der y-Achse (so wie im zweiten Datei-Upload beispielhaft annähernd an einem Excel-Diagramm dargestellt).
So hier?

Code: Alles auswählen

require(ggplot2)

ggplot() +
  labs(y = 'y-axis') +
  theme(axis.title.y = element_text(angle = 0, 
                                    margin = margin(t = 0, r = -20, b = 0, l = 0)))
        
        
[/quote]


Besten Dank für den Codeschnipsel, das hat funktioniert.

Eine Nebenwirkung ist allerdings aufgetreten. Aus unerfindlichen Gründen ist das Diagramm bzw. die y-Achse plötzlich in die Länge gestreckt. Wie könnte ich die y-Achse bzw. das ganze Diagramm wieder etwas "stauchen" (also die Höhe verringern). Habe es mit "height" ausprobiert, das hatte aber keine Wirkung. Aktuell verwende ich den u.s. Code und es kommt dabei das u.s. Bild heraus. Wäre schln, wenn mir jemand noch einen Hinweis geben könnte, wie ich die Höhe des Diagramms ändere bzw. die y-Achse wieder etwas mehr stauche.

Code: Alles auswählen

library(ggplot2)

ggplot(importiert, aes(x = Messzeitpunkt, y = Sprachkompetenz) )   +
  coord_cartesian(xlim = c(0.5,2.5), ylim = c(0,10)) +
  geom_boxplot( width =0.5 ) +
  stat_boxplot(geom = "errorbar", width = 0.5) +
  geom_jitter( position = position_jitter(0.3), aes(colour = Messzeitpunkt), 
               show.legend=FALSE) +
  labs(y = 'Sprachkompetenz') +
  theme(axis.title.y = element_text(angle = 0, 
                                    margin = margin(t = 0, r = 0, b = 
                                                      0, l = 10)))
Dateianhänge
Rplot02.png
Rplot02.png (5.2 KiB) 5165 mal betrachtet
8ZRbP
Beiträge: 60
Registriert: Do Okt 13, 2016 11:56 am

Re: Boxplot mit einzelnen Datenpunkten / Jitterplot bei Messwiederholung

Beitrag von 8ZRbP »

EDi hat geschrieben: Fr Mär 08, 2019 1:13 pm
8ZRbP hat geschrieben: Mi Mär 06, 2019 9:54 pm 1. Ich möchte den Abstand zwischen den beiden Boxplots (und somit auch zwischen den Punktewolken) etwas vergrößern (die x-Achse soll aber grundsätzlich gleich bleiben)
Ich würde die boxen und das jitter schmäler machen.
Danke für den Hinweis, das habe ich so gemacht. Hat bestens funktioniert.
2. Die Beschriftung der y-Achse soll nicht links neben dem Diagramm stehen, sodern direkt "über" der y-Achse (so wie im zweiten Datei-Upload beispielhaft annähernd an einem Excel-Diagramm dargestellt).
So hier?

Code: Alles auswählen

require(ggplot2)

ggplot() +
  labs(y = 'y-axis') +
  theme(axis.title.y = element_text(angle = 0, 
                                    margin = margin(t = 0, r = -20, b = 0, l = 0)))
        
        

Besten Dank für den Codeschnipsel, das funktioniert.

Eine Nebenwirkung ist allerdings aufgetreten. Aus unerfindlichen Gründen ist das Diagramm bzw. die y-Achse plötzlich in die Länge gestreckt. Wie könnte ich die y-Achse bzw. das ganze Diagramm wieder etwas "stauchen" (also die Höhe verringern). Habe es mit "height" ausprobiert, das hatte aber keine Wirkung. Aktuell verwende ich den u.s. Code und es kommt dabei das u.s. Bild heraus. Wäre schön, wenn mir jemand noch einen Hinweis geben könnte, wie ich die Höhe des Diagramms ändere bzw. die y-Achse wieder etwas mehr stauche.

Code: Alles auswählen

library(ggplot2)

ggplot(importiert, aes(x = Messzeitpunkt, y = Sprachkompetenz) )   +
  coord_cartesian(xlim = c(0.5,2.5), ylim = c(0,10)) +
  geom_boxplot( width =0.5 ) +
  stat_boxplot(geom = "errorbar", width = 0.5) +
  geom_jitter( position = position_jitter(0.3), aes(colour = Messzeitpunkt), 
               show.legend=FALSE) +
  labs(y = 'Sprachkompetenz') +
  theme(axis.title.y = element_text(angle = 0, 
                                    margin = margin(t = 0, r = 0, b = 
                                                      0, l = 10)))
Dateianhänge
Rplot02.png
Rplot02.png (5.2 KiB) 5156 mal betrachtet
Antworten