"连续美学 x 美学组(group=...)是什么意思?"

8
Scatterplot<-ggplot(
     diamonds[sample(nrow(diamonds), 1000), ],
     aes(carat, price, colour=clarity)
  )+
  geom_point(position="jitter", alpha=0.6)+
  facet_grid(~cut) + 
  scale_x_continuous(breaks=seq(0, 5, 1)) + 
  geom_boxplot(alpha=0, colour="black") +  
  scale_color_brewer(palette = "Set1")
  plot(Scatterplot)

我找不到关于这个警告的任何线索。有人知道吗?请查看图片:

output


1
你认为连续的x aes会为你做什么?由于您的图片没有显示x,很难确定,但您希望它有何不同之处? - Elin
在此页面上搜索您的信息 https://ggplot2.tidyverse.org/reference/geom_boxplot.html,它专门解释了该问题。 - Elin
1
看一下 geom_boxplot 的文档。它期望一个离散的 x 值和一个连续的 y 值。你已经为两者都提供了连续的值。 - camille
嘿,大家好,谢谢你们的回答。我尝试了JonGrub的解决方案,问题得到了解决。分配一个组值确实不是很有趣。 - Zakk Yang
2个回答

7
您可以通过添加group = 1来解决此问题:
Scatterplot<-ggplot(
  diamonds[sample(nrow(diamonds), 1000), ],
  aes(carat, price, colour=clarity, group = 1)
)+
  geom_point(position="jitter", alpha=0.6)+
  facet_grid(~cut) + 
  scale_x_continuous(breaks=seq(0, 5, 1)) + 
  geom_boxplot(alpha=0, colour="black") +  
  scale_color_brewer(palette = "Set1")
plot(Scatterplot)

这样做可以消除错误。然而,我并没有检查你对这个图的整体方法是否合理(请参见注释)。
关于为什么需要group = 1:我建议阅读《R数据科学》中的此章节

谢谢,Jon,现在很清楚了。我们将“1”视为分组的字符。 - Zakk Yang

4
这种情况是因为 x 列不是字符型(而是数值型)。只需使用 mutate 将其转换为字符型即可。
mutate(myvariable = as.character(myvariable))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接