我有一个堆积的条形图,我想标记条形图中每个条形的值。这是一个示例:
diamonds %>%
group_by(cut) %>%
count(low_price = price < 3000) %>%
ggplot() +
aes(
x = cut,
y = n,
fill = low_price
) +
geom_col() +
geom_text(
aes(label = n),
position = position_stack(vjust = 0.8)
)
我正在使用position_stack(vjust = 0.8)
来调整标签在条形图中的垂直位置。问题是调整是一个百分比:它实际上将标签放置在条形总高度的80%处。
我想以绝对单位表示类似的值:例如-1 cm或-每个栏的顶部距30 px。有没有办法做到这一点 ?
对不起,英语不好,谢谢您的帮助。
答案 0 :(得分:0)
我建议使用geom_text
vjust
而不是position_stack
vjust
。它不是您所要求的可自定义的绝对单位,但它是相对于文本大小的,这是磅值的绝对大小,因此它与条形的大小不成比例。
diamonds %>%
group_by(cut) %>%
count(low_price = price < 3000) %>%
ggplot() +
aes(
x = cut,
y = n,
fill = low_price
) +
geom_col() +
geom_text(
aes(label = n),
position = position_stack(),
vjust = 1.2
)