加权ggplot2警告:忽略未知的美学:重量

时间:2017-12-01 11:15:44

标签: r ggplot2 plot warnings

我尝试使用ggplot2绘制加权密度。结果似乎很好,但我收到以下警告:function.json。类似的问题似乎出现在other ggplot2 applications中,因此我想知道,警告是否可以忽略。

可重复的例子:

Warning: Ignoring unknown aesthetics: weight

是否可以忽略此警告消息?

3 个答案:

答案 0 :(得分:2)

您可以使用geom_density

来避免警告
ggplot() + 
  geom_density(aes(x = x, weight = w / sum(w)), color = "green") +
  geom_density(aes(x = x), color = "blue")

resulting plot

我原本期望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)

enter image description here

答案 2 :(得分:1)

是否收到警告似乎取决于您在何处给出weight参数(ggplot2版本2.2.1):

遵循以下答案: Create weighted histogramHistogram 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)

但是所有三个命令都产生相同的图。