我似乎无法让 geom_label 来标记躲避条形图CLASS(该图被“躲避”的因素)。相反,我得到了count每个PROC(Y轴)的总数:
ggplot(data = df, mapping = aes(x = PROC)) +
geom_bar(mapping = aes(fill = CLASS), position = "dodge") +
geom_text(stat = "count", aes(x = PROC, label = ..count..)) +
theme(axis.title.y = element_blank(),
axis.title.x = element_blank(),
axis.ticks.y = element_blank(),
axis.ticks.x = element_blank(),
axis.text.x = element_blank()) +
scale_x_discrete(labels = function(x) str_wrap(
PROC.Labels,
width = 10)) +
coord_flip()
Run Code Online (Sandbox Code Playgroud)
此外,我不知道为什么 105geom_text标签会出现在此条形图的右侧。
您需要更新geom_text才能使用该position_dodge()功能。这是一个示例,与您的非常相似,使用内置的钻石数据集。我也在使用ggplot 3.0 的stat()函数,而不是不推荐使用的..count..变量。
您的标签显示在最右侧,因为它们代表您的每个组的总数,因此放置在相应的更高(更右侧)y 位置。
请注意,提供position_dodge()0.9 的宽度值对应于这样一个事实,即默认情况下,分类条(或一组躲避的条)在轴上占据其可用空间的 90%,其余 10% 用于酒吧分组。
g <- ggplot(data = diamonds, aes(x = cut, fill = color)) +
geom_bar(position = 'dodge') +
geom_text(stat = 'count', hjust = 0, position = position_dodge(0.9), aes(x = cut, label = stat(count))) +
coord_flip()
print(g)
Run Code Online (Sandbox Code Playgroud)