我的直方图存在问题,我希望在其上添加平滑线,最好是多项式平滑。
我最接近的是添加了平滑geom_density
或geom_line
stat="density"
以及其他调整选项。
在任何情况下,我的密度都有两行,使用下面的简化代码也是如此。这是为什么?我只想要一条平滑的密度线或多项式平滑。
示例数据可在此处找到:https://www.dropbox.com/s/13795hnpqmwftnq/chyp3histo_total_lip.rda?dl=0
使用此代码:
histos1a<-ggplot(data=chyp3histo_total_lip,aes(x=totallipid))+
geom_histogram(color=col,fill=col)+
geom_histogram(fill="white")+
geom_density()
为什么它会绘制两条似乎是范围的线?
干杯谢谢!
答案 0 :(得分:3)
问题是你有分组 tibble;显然(令我惊讶的是)ggplot2
注意到了这一点。试试
cc <- dplyr::ungroup(chyp3histo_total_lip)
ggplot(data=cc,...) ## etc.
如果您发布了str(chyp3histo_total_lip)
的结果,我们就可以在不下载数据的情况下对其进行诊断...
str(chyp3histo_total_lip)
Classes ‘grouped_df’, ‘tbl_df’, ‘tbl’ and 'data.frame': 544 obs. of 1 variable:
$ totallipid: num NA 0.046 NA NA NA ...
- attr(*, "vars")= chr "haul" "pred"
- attr(*, "drop")= logi TRUE
- attr(*, "indices")=List of 2
..$ : int 0 1 2 3 4 5 6 7 8 9 ...
..$ : int 122 123 124 125 126 127 128 129 130 131 ...
- attr(*, "group_sizes")= int 244 300
- attr(*, "biggest_group_size")= int 300
- attr(*, "labels")='data.frame': 2 obs. of 2 variables:
..$ haul: Factor w/ 2 levels "17:47h","1:44h": 1 2
..$ pred: Factor w/ 12 levels "C. glacialis C3",..: 5 5
..- attr(*, "vars")= chr "haul" "pred"
..- attr(*, "drop")= logi TRUE