我尝试使用ggplot2绘制加权密度。结果似乎很好,但我收到以下警告:function.json
。类似的问题似乎出现在other ggplot2 applications中,因此我想知道,警告是否可以忽略。
可重复的例子:
Warning: Ignoring unknown aesthetics: weight
是否可以忽略此警告消息?
答案 0 :(得分:2)
您可以使用geom_density
:
ggplot() +
geom_density(aes(x = x, weight = w / sum(w)), color = "green") +
geom_density(aes(x = x), color = "blue")
我原本期望stat_
函数能够处理与geom相同的美学,它似乎也是这样。然后警告将是一个应该向维护者报告的错误。
答案 1 :(得分:1)
这是另一种解决方案:
ggplot(data=NULL, aes(x = x, weight=w/sum(w))) + stat_density()
和
ggplot(data=NULL, aes(x = x, weight=w/sum(w))) +
stat_density(fill=NA, color = "green") +
stat_density(aes(x=x), fill=NA, color = "blue", inherit.aes=F)
答案 2 :(得分:1)
是否收到警告似乎取决于您在何处给出weight参数(ggplot2版本2.2.1):
遵循以下答案: Create weighted histogram, Histogram with weights
设置数据:
w = seq(1,1000)
v = sort(runif(1000))
foo = data.frame(v,w)
以下命令产生警告:
ggplot(foo) + geom_histogram(aes(v, weight=w),bins = 30)
这些命令不产生警告:
ggplot(foo, aes(v, weight=w)) + geom_histogram(bins = 30)
ggplot(foo, aes(weight=w)) + geom_histogram(aes(v),bins = 30)
但是所有三个命令都产生相同的图。