Poi*_*ewq 6 r ggplot2 melt reshape2
好的,所以我想将小提琴图与白色箱线图一起绘制,但我的数据有点棘手。我将 data.frame 中的数据与几列融合在一起,每列都有对应于两个级别的因子的值,这是我的数据的近似值:
library(ggplot2)
library(reshape2)
dat <- list(
A = rbind(
data.frame(group = "1",
vals = rnorm(500)),
data.frame(group = "2",
vals = rnorm(100))
),
B = rbind(
data.frame(group = "1",
vals = rnorm(500)),
data.frame(group = "2",
vals = rnorm(100))
),
C = rbind(
data.frame(group = "1",
vals = rnorm(500)),
data.frame(group = "2",
vals = rnorm(100))
)
)
dat.melt <- melt(dat)
Run Code Online (Sandbox Code Playgroud)
我能找到的最好的方法是手动设置填充,但它会影响小提琴图和箱线图:
dodge <- position_dodge(width = 1)
p <- ggplot(dat.melt, aes(x = L1, y = value, fill = group))+
geom_violin(position = dodge)+
geom_boxplot(width = 0.3,
position = dodge,
outlier.shape = NA)+
scale_fill_manual(values=c("white", "white"))
Run Code Online (Sandbox Code Playgroud)
我可以只制作白色的箱线图而不是小提琴吗?
PS如何只为小提琴制作图例而不显示箱线图?
Try this:
p <- ggplot(dat.melt, aes(x = L1, y = value)) +
geom_violin(aes(fill = group), position = dodge) +
geom_boxplot(aes(group=interaction(group,L1)),
width=0.3, fill="white", position=dodge,
outlier.shape=NA)
print(p)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1470 次 |
| 最近记录: |