代码:
p <- ggplot(data, aes(factor(version),p_opens_visits))
p + geom_boxplot() +
xlab(xlab) +ggtitle(title)+ theme(axis.text.x = element_text(angle = 90, hjust = 1))
在数据中我有data$counts
显示每个版本的计数(意味着如果相同的版本出现1000次,我将有counts
1000个记录)。我想在每个箱子图中添加这个数字。我该怎么办?
如果我添加+ geom_text(aes(label = count))
答案 0 :(得分:0)
我想我会创建一个名为version_count
的新列,用于捕获有关version
和count
的信息。然后我们使用coord_flip
翻转x和y轴以使图更容易阅读:
set.seed(123)
rep_each <- sample(5:15, 20, replace = T)
df1 <- data.frame(version = rep(letters[1:20], rep_each),
count = rep(rep_each, rep_each),
y = rnorm(sum(rep_each)),
stringsAsFactors = FALSE)
version_count
列df1$version_count <- paste0(df1$version, ' (N = ', scales::comma(df1$count), ')')
library(ggplot2)
ggplot(df1, aes(x = version_count, y = y))+
geom_boxplot()+
coord_flip()
另一种选择是创建一个新的data.frame
,它只包含version
和count
的唯一值:
data.frame
df2 <- cbind.data.frame(version = df1$version, count = df1$count)
df2 <- unique(df2)
ggplot(df1, aes(x = version, y = y))+
geom_boxplot()+
geom_text(data = df2, aes(x = version, y = -3, label = count))+
coord_flip()
此方法要求您知道count
标签的放置位置。