我将在这里使用小提琴图作为示例,但问题扩展到许多其他ggplot类型.
我知道如何通过一个因子沿x轴对我的数据进行子集化:
ggplot(iris, aes(x = Species, y = Sepal.Length)) +
geom_violin() +
geom_point(position = "jitter")
Run Code Online (Sandbox Code Playgroud)
而且我知道如何只绘制完整的数据集:
ggplot(iris, aes(x = 1, y = Sepal.Length)) +
geom_violin() +
geom_point(position = "jitter")
Run Code Online (Sandbox Code Playgroud)
我的问题是:有没有办法在同一个图中并排绘制完整数据和逐个因子?换句话说,对于虹膜数据,我可以制作一个沿x轴同时具有"完整数据"和"setosa"的小提琴曲线吗?
这样可以比较完整数据集的分布和该数据集的子集.如果这是不可能的,那么任何有关更好的可视化方法的建议也会受到欢迎:)
谢谢你的任何想法!
在 ggplot2 中, geom_point 默认在当前绘图上绘图。例如,在调用 geom_boxplot 后调用 geom_point 会导致绘制在箱线图上的点:
ggplot(iris, aes(x = "All", y = Sepal.Length)) +
geom_boxplot() +
geom_point(aes(color=Species), position = "jitter")
Run Code Online (Sandbox Code Playgroud)
有没有办法将点分别绘制到侧面,而不是在箱线图上?
在我的特殊情况下,我想这样做是因为点模糊了绘图(即使是透明的等),这里的示例数据集不是问题。