당신은 합리적으로 쉽게 사카의 격자 패키지의 기능, panel.violin
에 아주 간단한 수정을 반 바이올린 플롯을 얻을 수 있습니다. 이 함수에는 "양면"밀도 플로팅에서 단면 양면 플로팅으로 변경하기 위해 호출 할 수있는호출 내에서 변경할 수있는 네 줄이 있습니다. 먼저 require(lattice)
및 require(grid)
. 그런 다음 panel.violin
을 입력하십시오. "수평"변경을 보여 드리겠습니다.
require(grid)
panel.violin2 <-
# snipped all the arguments and processing
grid.polygon(x = c(dx.list[[i]]),
# Notice I removed: ... ,rev(dx.list[[i]])
y = c(2*dy.list[[i]] ), default.units = "native",
# Removed: ... , -rev(dy.list[[i]])
name = trellis.grobname(identifier, type = "panel",
group = group), gp = gpar(fill = col, col = border,
lty = lty, lwd = lwd, alpha = alpha))
else {...} 절의 해당 섹션에서 제거하십시오. 이제 도움말의 예제를 실행할 수 있습니다 (panel.violin)
bwplot(voice.part ~ height, singer,
panel = function(..., box.ratio) {
panel.violin2(..., col = "transparent",
varwidth = FALSE, box.ratio = box.ratio)
panel.bwplot(..., fill = NULL, box.ratio = .1)
})
당신이 다른 쪽의 밀도를 원한다면
, 당신이해야 할 것 모두가 dx.list을 제거 할 것 [[i]]와 dy.list [[i]]를 입력하고 rev(dx.list[[i]])
및 -rev(dy.list[[i]])
에 남겨 둡니다.
@BenBarnes의 6 페이지에 (6 페이지에 하나의 플롯이있다). 실제로 boxplot 대안입니다. – MattLBeck
@Mattrition, Ooohh. 그것은 흥미로운 음모입니다. 아, 그림 4, 페이지 4가 아닙니다. – BenBarnes
OP가 필요한 것이 확실하지 않습니다. 종이에서 볼 때 'beanplot'을 사용하여 그래픽을 생성 할 수 있으며 코드를 제공 할 수도 있습니다. – MattLBeck