R 在加权直方图顶部绘制法线曲线

R 在加权直方图顶部绘制法线曲线,r,normal-distribution,weighted,R,Normal Distribution,Weighted,我有一个数据集,由于数据的原因,它需要我绘制一个加权直方图 gridcellname value avg.temp Y55X21 4,84 4,09 Y56X17 0 5,34 Y44X44 2,75 1,8 Y46X38 3,68 3,4 Y58X19 4,32 5,08 Y59X17 0 4,8 Y60X20 5,2

我有一个数据集,由于数据的原因,它需要我绘制一个加权直方图

gridcellname  value  avg.temp
Y55X21          4,84    4,09
Y56X17          0       5,34
Y44X44          2,75    1,8
Y46X38          3,68    3,4
Y58X19          4,32    5,08
Y59X17          0       4,8
Y60X20          5,29    5,27
Y61X18          0       5,15
Y62X21          5,59    5,09
Y63X19          3,05    5,47
Y64X22          2,75    5,04
Y65X25          4,82    4,54
Y66X22          0       4,54
我使用加权直方图并从

H <- weighted.hist(df$avg.temp, df$value, ylim=c(0,120), breaks=c(seq(-1.5,8.5, by=0.5)))
这给了我一个很好的图表,但我无法在上面画一条正常的曲线。从2个图中可以看出,我可能没有(-1.5,-1)类别中的数据,但我仍然希望绘制它,并保持我的yaxis范围(0120),尽管我的最大值约为~40

我尝试了这两个代码来添加曲线,但它并不完全正确

xfit<-seq(min(df$value),max(df$value)) 
yfit<-dnorm(xfit,mean=mean(df$value),sd=sd(df$value)) 
yfit <- yfit*diff(H$mids[1:2])*length(df$value) 
lines(xfit, yfit, col="blue", lwd=2)
这给了我一条到x轴的几乎平坦的水平线


谢谢大家!

请启动一个新的R会话并运行您在此处发布的代码:您的示例不可复制!如何计算临时类别?本例中不需要gridcellname。您可以创建一个随机文件,其中包含值和avg.temp,就像上面的一样。df$temp_类别它似乎是一条平线,因为您的条带处于绝对频率,最大频率为21,并且您的
dnorm
的最大频率为~0.2,但如果我使用加权历史和xfit,yfit。。。然后你可以看到我得到了我想要的。。。除了它在左边。。。简单地说,有没有可能在加权直方图上画一条曲线/直线?你说的“如果我使用加权历史”是什么意思<代码>H
xfit<-seq(min(df$value),max(df$value)) 
yfit<-dnorm(xfit,mean=mean(df$value),sd=sd(df$value)) 
yfit <- yfit*diff(H$mids[1:2])*length(df$value) 
lines(xfit, yfit, col="blue", lwd=2)
ggplot(df, aes(y=value, x=temp_category)) + stat_summary(fun.y="sum", geom="bar") + stat_function(fun=dnorm, args=list(mean=mean(df$value), sd=sd(df$value)))