如何使用渐变为ggplot stat_density的填充着色?

J. *_*ira 2 r ggplot2

我有一组数据,我想用ggplot2 绘制stat_density.数据范围从-1000到1000,我希望绘图用填充作为渐变着色,从蓝色(-1000)到白色(零)和红色(+1000).我怎么做?作为图片,它将是这样的:

情节

Rol*_*and 5

我想你可以这样做stat_density,但我把这作为锻炼给你.您还可以计算ggplot2之外的密度.

无论如何,使用geom_segmentscale_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))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述