У меня есть столбчатая диаграмма с накоплением, и я хочу пометить значение каждого столбца внутри столбца. Вот пример:
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 см или -30 пикселей от вершины каждой полосы. Есть ли способ сделать это ?
Извините за плохой английский и спасибо за помощь.
Я бы рекомендовал использовать 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
)