Ron*_*nny 4 r ggplot2 violin-plot
我有一个在不同景观上运行的模型,一次同时运行,一次单独运行。我想在小提琴图中绘制结果,但我希望在同一个图中并排运行,并且每个景观都有自己的小提琴(所以2 堆 4 把小提琴)。示例数据:
df1 <- data.frame('means' = 1:6, 'landscape' = rep(c('forest', 'desert', 3)))
df2 <- data.frame('means' = rep(c(1,2), 3), 'landscape' = rep(c('forest', 'desert', 3)))
Run Code Online (Sandbox Code Playgroud)
我希望最终产品看起来如何(MS Paint 中的插图,我是一个糟糕的艺术家):

绿色代表森林,金色代表沙漠。
请注意,这篇文章含蓄地询问“如何将小提琴几何图形打印在彼此之上?”。这当然可以通过position小提琴默认为的参数来回答'dodge'- 将其更改为可以解决'identity'问题。小贴士 - 要求“堆叠”实际上有点误导,因为position='stack'垂直堆叠它们。
这种方法特别避免了笨重的第二个数据集,因此很容易处理多种颜色。
library(tidyverse)
mpg %>%
filter(class %in% c("compact","midsize")) %>%
mutate(coloringArgument = paste(drv,class)) %>%
ggplot(aes(as.factor(drv), cty, color=coloringArgument)) +
geom_violin(position = "identity")
Run Code Online (Sandbox Code Playgroud)