【发布时间】:2020-12-28 01:19:38
【问题描述】:
我想在我的密度图中添加多条垂直线,这些垂直线从 x 轴开始,使用 ggplot2 在曲线结束。我正在使用来自 dplyr 的星球大战数据集。我想将高度变量绘制为正态分布。曲线内的虚线表示标准偏差。到目前为止,我得到了这个(只是没有线条的情节):
sd.values = seq(66, 264, 34.77043)
zeros.vector = rep(0, 6)
ggplot(starwars, aes(x=height, y=dnorm(height, m=mean(height, na.rm=T), s=sd(height, na.rm=T)))) +
geom_line() + labs(x='height', y='f(height)') +
scale_x_continuous(breaks=sd.values,labels=sd.values)
没有线条的密度图
现在,我想使用geom_segment 添加虚线:
ggplot(starwars, aes(x=height, y=dnorm(height, m=mean(height, na.rm=T), s=sd(height, na.rm=T))))+
geom_line() + labs(x='height', y='f(height)') +
scale_x_continuous(breaks=sd.values, labels=sd.values) +
geom_segment((aes(x=sd.values, y=zeros.vector, xend=sd.values,
yend=dnorm(sd.values, m=mean(height, na.rm=T), s=sd(height, na.rm=T)))),
linetyp ='dashed')
但最后,我只收到以下错误消息:
错误:美学长度必须为 1 或与数据 (87) 相同:x、y、xend 和yend
知道要添加虚线我必须更改什么吗?
【问题讨论】: