R GG沿x轴绘制完整数据和子集

R GG沿x轴绘制完整数据和子集,r,ggplot2,data-visualization,R,Ggplot2,Data Visualization,我将在这里使用小提琴图作为示例,但问题扩展到许多其他ggplot类型 我知道如何通过因子沿x轴对数据进行子集划分: ggplot(iris, aes(x = Species, y = Sepal.Length)) + geom_violin() + geom_point(position = "jitter") 我知道如何只绘制完整的数据集: ggplot(iris, aes(x = 1, y = Sepal.Length)) + geom_violin() + geom_p

我将在这里使用小提琴图作为示例,但问题扩展到许多其他ggplot类型

我知道如何通过因子沿x轴对数据进行子集划分:

ggplot(iris, aes(x = Species, y = Sepal.Length)) +
  geom_violin() +
  geom_point(position = "jitter")

我知道如何只绘制完整的数据集:

ggplot(iris, aes(x = 1, y = Sepal.Length)) +
  geom_violin() +
  geom_point(position = "jitter")

我的问题是:是否有一种方法可以在同一个图中按因子并排绘制完整数据和子集?换句话说,对于虹膜数据,我能做一个小提琴图,在x轴上既有“完整数据”又有“setosa”吗

这将能够比较完整数据集和该数据集子集的分布。如果这是不可能的,任何关于更好的可视化方法的建议也将受到欢迎:)

谢谢你的建议

使用:

ggplot(iris, aes(x = "All", y = Sepal.Length)) +
  geom_violin() +
  geom_point(aes(color="All"), position = "jitter") +
  geom_violin(data=iris, aes(x = Species, y = Sepal.Length)) +
  geom_point(data=iris, aes(x = Species, y = Sepal.Length, color = Species), 
             position = "jitter") +
  scale_color_manual(values = c("black","#F8766D","#00BA38","#619CFF")) +
  theme_minimal(base_size = 16) +
  theme(axis.title.x = element_blank(), legend.title = element_blank())
给出:


谢谢,回答得很好,感谢您突出显示输入x轴“全部”的功能!