通常,如果我需要制作带有标签的直方图,我会使用hist(rnorm(100),labels=TRUE)
. 但是,如果我的数据是因素,那么我需要使用plot(as.factor(c("a","a","b")))
. 问题在于它labels=TRUE
不适用于plot
; 我该如何解决这个问题?
我最好想要一个不需要加载花哨的包的解决方案。
您实际上是在第二个示例中创建条形图
以下将起作用
# your variable
fact <- as.factor(c('a','a','b'))
#
b <- plot(fact)
text(x=b,y=c(table(fact)), label = c(table(fact)),xpd=TRUE,col='blue')
您可以将其包装为 function plot.factor
。
plot.factor <- function(x ,..., label=TRUE) {
cc <- table(x)
b <- barplot(cc,...)
if (label){
text(x = b, y = c(cc), label = c(cc), xpd = TRUE, col = 'blue')
}
return(invisible(b))
}
# Then
plot(fact)
# would produce the same result