Das angezeigte Verhalten hängt davon ab, wie ggplot2
mit Daten umgegangen wird , die außerhalb der Achsenbereiche des Diagramms liegen. Sie können dieses Verhalten ändern, je nachdem, ob Sie Achsenbereiche verwenden scale_y_continuous
(oder gleichwertig ylim
) oder coord_cartesian
festlegen, wie unten erläutert.
library(ggplot2)
# All points are visible in the plot
ggplot(mtcars, aes(mpg, hp)) +
geom_point()
Im folgenden Code liegt ein Punkt mit hp = 335 außerhalb des y-Bereichs des Diagramms. Da wir scale_y_continuous
den Bereich der y-Achse festgelegt haben, ist dieser Punkt auch nicht in anderen Statistiken oder zusammenfassenden Kennzahlen enthalten, die von ggplot berechnet wurden, z. B. der linearen Regressionslinie.
ggplot(mtcars, aes(mpg, hp)) +
geom_point() +
scale_y_continuous(limits=c(0,300)) + # Change this to limits=c(0,335) and the warning disappars
geom_smooth(method="lm")
Warning messages:
1: Removed 1 rows containing missing values (stat_smooth).
2: Removed 1 rows containing missing values (geom_point).
Im folgenden Code liegt der Punkt mit hp = 335 immer noch außerhalb des y-Bereichs des Diagramms. Dieser Punkt ist jedoch in allen Statistiken oder zusammenfassenden Kennzahlen enthalten, die von ggplot berechnet werden, z. B. der linearen Regressionslinie. Dies liegt daran, dass wir coord_cartesian
den Bereich der y-Achse festgelegt haben und diese Funktion Punkte, die außerhalb der Plotbereiche liegen, nicht ausschließt, wenn andere Berechnungen für die Daten durchgeführt werden.
Wenn Sie dieses und das vorherige Diagramm vergleichen, können Sie sehen, dass die lineare Regressionslinie im zweiten Diagramm eine etwas steilere Steigung aufweist, da der Punkt mit hp = 335 bei der Berechnung der Regressionslinie berücksichtigt wird, obwohl er im Diagramm nicht sichtbar ist .
ggplot(mtcars, aes(mpg, hp)) +
geom_point() +
coord_cartesian(ylim=c(0,300)) +
geom_smooth(method="lm")
y
dieser Frage gibt es eine Begrenzung für die Achse. Die Werte sind aufgrund dieser Funktion zwischen 0 und 0,12 begrenzt:ylim(0,0.12)