2
我有一組數據,我想用ggplot2'sstat_density
來繪圖。數據的範圍從-1000到1000,我希望繪圖的填充顏色是從藍色(-1000)到白色(零)和紅色(+1000)的漸變色。我怎麼做?作爲一個圖片,這將是這樣的:如何使用漸變顏色填充ggplot stat_density?
我有一組數據,我想用ggplot2'sstat_density
來繪圖。數據的範圍從-1000到1000,我希望繪圖的填充顏色是從藍色(-1000)到白色(零)和紅色(+1000)的漸變色。我怎麼做?作爲一個圖片,這將是這樣的:如何使用漸變顏色填充ggplot stat_density?
我認爲你可以stat_density
做到這一點,但我離開這個作爲一個練習。你也可以計算ggplot2以外的密度。
無論如何,使用geom_segment
和scale_colour_gradient2
這樣的:
library(ggplot2)
DF <- data.frame(x=seq(-3, 3, 1e-2))
DF$y <- dnorm(DF$x)
ggplot(DF, aes(x=x, y=y)) +
geom_segment(aes(xend=x, yend=0, colour=abs(x)^0.7*sign(x))) +
geom_line() +
scale_colour_gradient2(low=scales::muted("blue", l=60),
mid=scales::muted("green", l=60),
high=scales::muted("red", l=60))