Bill Dunlap의 픽업이 기본 그래픽에서 가장 좋아하는 트릭 중 하나입니다. 술집에 막대 위에 숫자 값 (또는 모든 값)을 배치 할 수 있으므로 (나는 사용하지는 않지만 때때로 사용하지만 좋아합니다). 당신을 제공막대 위에 값에 주석 달기 (ggplot faceted)
mtcars2 <- mtcars[order(-mtcars$mpg), ]
par(cex.lab=1, cex.axis=.6,
mar=c(6.5, 3, 2, 2) + 0.1, xpd=NA) #shrink axis text and increas bot. mar.
barX <- barplot(mtcars2$mpg,xlab="Cars", main="MPG of Cars",
ylab="", names=rownames(mtcars2), mgp=c(5,1,0),
ylim=c(0, 35), las=2, col=mtcars2$cyl)
mtext(side=2, text="MPG", cex=1, padj=-2.5)
text(cex=.5, x=barX, y=mtcars2$mpg+par("cxy")[2]/2, mtcars2$hp, xpd=TRUE)
는 :
나는 ggplot의 측면 막대 그래프와 주석의 동일한 종류를 할 수 있어야합니다. 분명히 그 값은 당신이 플롯 할 때 사용하는 두 변수와 동일해야합니다. 따라서 ftable로 얻을 수 있습니다. 나는 ftable 결과를 (0이 아닌 값에 대해) 아래에 가져 가서 각각의 막대 위에 놓고 싶습니다.
library(ggplot2)
mtcars2 <- data.frame(id=1:nrow(mtcars), mtcars[, c(2, 8:11)])
mtcars2[, -1] <- lapply(mtcars2[, -1], as.factor)
with(mtcars2, ftable(cyl, gear, am))
ggplot(mtcars2, aes(x=cyl)) + geom_bar() +
facet_grid(gear~am)
이것은 상당히 어려울 듯하지만 어쩌면 생각보다 쉽습니다. 이 문제에 대해 미리 생각해 주셔서 감사합니다.
관련이 있습니까? http://stackoverflow.com/a/9185168/1036500 – Ben
@ben 솔루션에 익숙해졌지만 이것을 'facet_grid'에 연결할 수 없다고 생각합니다. –
흥미롭게도 이러한 종류의 라벨링은 일부 사람들이 더 혼란스러운 표시이므로 피해야합니다. http://stackoverflow.com/q/6644997/1036500 및 http://stackoverflow.com/a/9318468/1036500 – Ben