2017-05-27 5 views
1

Ich habe 2 Boxplots, auf denen ich auch einen Punkt für den Mittelwert angeben möchte. Es scheint, dass, wenn Sie horizontal = TRUE als Argument angeben, die Funktion points() keinen Punkt mehr auf dem Boxplot zeichnet.Warum wird R nicht einen Punkt auf einem horizontalen Boxplot überplotzen, sondern auf einem vertikalen Boxplot?

Hier ist meine Daten:

fired <- c(34,37,37,38,41,42,43,44,44,45,45,45,46,48,49,53,53,54,54,55,56) 

für vertikale boxplot:

> boxplot(fired, 
+    main = "Fired Boxplot", 
+    col=(c("gold"))) 
> points(mean(fired), lwd=5, col="darkred", pch=22) 

vertical boxplot with red square for mean

Aber dann für horizontale boxplot (gleiche Daten & Funktionen mit einem Argument ändern):

> boxplot(fired, 
+    horizontal=TRUE, 
+    main = "Fired Boxplot", 
+    col=(c("gold"))) 
> points(mean(fired), lwd=5, col="darkred", pch=22) 

Kein Punkt: enter image description here

Warum es nicht den Punkt in dem horizontalen = TRUE Fall zeichnen? Es ist nur ein Wert auf einer Achse.

+0

Ich habe auch versucht ‚horizontal = TRUE‘ Hinzufügen bei Punkt() gibt es einige nicht dokumentierte Funktion war, aber das ist nicht der Fall: „horizontal“ ist kein grafische Parameter – TheProletariat

Antwort

3

Es funktioniert, wenn Sie y=1 in der points Funktion angeben.

boxplot(fired, 
        horizontal=TRUE, 
        main = "Fired Boxplot", 
        col=(c("gold"))) 
points(mean(fired),1, lwd=5, col="darkred", pch=22) 

enter image description here

+0

ich es wusste, war etwas einfaches, aber in der Dokumentation völlig vermisst. Vielen Dank! – TheProletariat

+0

Ich bin froh, dass es funktioniert hat – Bea