我能够按照position = dodge格式有效地更改条形图标签的大小。但是,当尝试简单地使用stat = identity做同样的事情时,我在一侧收到一个说明大小的图例,并且标签本身的大小似乎没有变化。
关于SO的大多数问题与此相反,仅使用位置躲避时难以更改大小。我在搜索中没有发现与此类似的问题。
library(ggplot2)
names <- c("Yes", "No")
values <- c(100, 80)
prac <- data.frame(names, values)
ggplot(data = prac, aes(x = names, y = values, label = values)) +
geom_bar(stat = "identity") +
geom_text(aes(size = 50))
似乎尺寸没有改变。
ggplot(data = prac, aes(x = names, y = values, label = values)) +
geom_bar(stat = "identity") +
geom_text(aes(size = 5))
但是,使用position = dodge,该问题不存在。大小会按预期更改。
names2 <- c("Yes", "No", "Yes", "No")
values2 <- c(100, 80, 110, 70)
area <- c("Large", "Small", "Small", "Large")
prac2 <- data.frame(names2, values2, area)
ggplot(data = prac2, aes(x = names2, y = values2, label = values2, fill = area)) +
geom_bar(stat = "identity", position = "dodge") +
geom_text(position = position_dodge(width = 1), size = 5)
最后,应该注意的是,无论是否在ggplot行或geom_text行中指定了标签,都会产生相同的输出。
ggplot(data = prac, aes(x = names, y = values)) +
geom_bar(stat = "identity") +
geom_text(aes(label = values, size = 5))