ggplot 应该如何等效于 R 中的 plot + lines?
How should be a ggplot equivalent of plot + lines in R?
使用 plot
和 lines
我可以在 R 中的同一范围内重叠多个图。例如,我可以绘制数据的密度,然后在相同的范围内模拟密度分布剧情如下:
plot(density(mtcars$mpg), col = "red")
polygon(density(mtcars$mpg), col = "red")
x <- seq(0, 50, length=1000)
hxn <- dnorm(x,mean=mean(mtcars$mpg), sd = sd(mtcars$mpg))
lines(x,hxn, col="green")
获得
我怎样才能用ggplot
做同样的事情(在同一个图中引入数据密度mtcars$mpg
和模拟(x,hxn)
)?
我将从
开始
library(ggplot2)
ggplot(mtcars,aes(x=mpg))+geom_density(color = "red", fill = "red")+xlim(0,40)
但是我不知道如何叠加 x,hxn
数据。
谢谢!
你可以这样做:
ggplot(mtcars,aes(x=mpg))+
geom_density(color = "red", fill = "red")+
xlim(0,40) +
stat_function(fun = dnorm, args = list(mean = mean(mtcars$mpg), sd = sd(mtcars$mpg)))
使用 plot
和 lines
我可以在 R 中的同一范围内重叠多个图。例如,我可以绘制数据的密度,然后在相同的范围内模拟密度分布剧情如下:
plot(density(mtcars$mpg), col = "red")
polygon(density(mtcars$mpg), col = "red")
x <- seq(0, 50, length=1000)
hxn <- dnorm(x,mean=mean(mtcars$mpg), sd = sd(mtcars$mpg))
lines(x,hxn, col="green")
获得
我怎样才能用ggplot
做同样的事情(在同一个图中引入数据密度mtcars$mpg
和模拟(x,hxn)
)?
我将从
library(ggplot2)
ggplot(mtcars,aes(x=mpg))+geom_density(color = "red", fill = "red")+xlim(0,40)
但是我不知道如何叠加 x,hxn
数据。
谢谢!
你可以这样做:
ggplot(mtcars,aes(x=mpg))+
geom_density(color = "red", fill = "red")+
xlim(0,40) +
stat_function(fun = dnorm, args = list(mean = mean(mtcars$mpg), sd = sd(mtcars$mpg)))