2017-05-16 77 views
1

以下代碼繪製的是流暢的線條。但似乎沒有跨越整個數據範圍。我做錯了什麼嗎?geom_smooth未跨越整個數據範圍

ggplot(mpg, aes(year, cty)) + geom_jitter() + geom_smooth(method = "lm", se = TRUE, span=3, fullrange=TRUE) 

它給我:

enter image description here

+0

您是否嘗試過設置?ggplot2 :: geom_smooth'fullrange \t 是否適合跨越整個圖的範圍,或者僅僅是數據? –

回答

5

你的問題是與geom_jitter。看看mpg數據集,看起來只有兩年,1999年和2008年。geom_jitter正在使範圍看起來比它更寬,但geom_smooth只在數據範圍內繪製一條線。例如,使用

ggplot(mpg, aes(year, cty)) + geom_point() + geom_smooth(method = "lm", se = TRUE, span=3, fullrange=TRUE) 

爲我們提供了這樣一個情節,而不是

enter image description here

geom_jitter被引起的顫動而不僅僅是y值(CTY),而且x值(年),這使得它看起來就好像數據的日期範圍比實際情況更寬。由於geom_smooth只能在範圍內進行插值,因此不會像您想要的那樣跨越整個繪圖。

+0

現在非常有意義。謝謝!! – lkahtz