Gördüğünüz davranış ggplot2
, grafiğin eksen aralıklarının dışındaki verilerle nasıl başa çıkıldığına bağlıdır. Bu davranışı, kullanmanıza scale_y_continuous
(veya eşdeğer olarak ylim
) veya coord_cartesian
eksen aralıklarını ayarlamanıza bağlı olarak aşağıda açıklandığı gibi değiştirebilirsiniz.
library(ggplot2)
ggplot(mtcars, aes(mpg, hp)) +
geom_point()
Aşağıdaki kodda, hp = 335 olan bir nokta, grafiğin y aralığının dışındadır. Ayrıca, scale_y_continuous
y ekseni aralığını ayarladığımız için bu nokta, doğrusal regresyon çizgisi gibi ggplot tarafından hesaplanan diğer istatistiklere veya özet ölçülere dahil edilmez.
ggplot(mtcars, aes(mpg, hp)) +
geom_point() +
scale_y_continuous(limits=c(0,300)) +
geom_smooth(method="lm")
Warning messages:
1: Removed 1 rows containing missing values (stat_smooth).
2: Removed 1 rows containing missing values (geom_point).
Aşağıdaki kodda, hp = 335 olan nokta hala grafiğin y aralığının dışındadır, ancak yine de bu nokta, doğrusal regresyon çizgisi gibi ggplot'un hesapladığı herhangi bir istatistik veya özet ölçüme dahil edilmiştir. Bunun nedeni coord_cartesian
, y ekseni aralığını ayarlamak için kullanmış olmamızdır ve bu işlev, veriler üzerinde başka hesaplamalar yaptığında çizim aralıklarının dışındaki noktaları hariç tutmaz.
Bunu ve önceki grafiği karşılaştırırsanız, ikinci grafikteki doğrusal regresyon çizgisinin biraz daha dik bir eğime sahip olduğunu görebilirsiniz, çünkü grafikte görünmese bile regresyon çizgisi hesaplanırken hp = 335 olan nokta dahil edilir. .
ggplot(mtcars, aes(mpg, hp)) +
geom_point() +
coord_cartesian(ylim=c(0,300)) +
geom_smooth(method="lm")
y
Bu sorunun ekseninde bir sınır var . Bu işlev nedeniyle değerler 0 ile 0,12 arasında sınırlandırılmıştır:ylim(0,0.12)