Я использую gglot с facet_wrap для построения некоторых данных. Размеры в разных гранях сильно различаются (0,2 по сравнению с 2000 годом).
Я рисую geom_bar и добавляю geom_text с теми же значениями над полосой. Теперь возникла проблема. Значение geom_text предназначено для «больших» полос под заголовком.
Я вижу два возможных решения, оба не могу реализовать.
Переключите положение geom_text, чтобы большие полосы отображались внутри. Это можно сделать с помощью vjust в aes. Но для каждого аспекта точка переключения должна быть разной.
Я хотел бы масштабировать ось Y до 110%, чтобы было место для текста. Но я не хочу вручную ставить это в свою программу, потому что сюжет делается автоматически.
library(ggplot2)
testdata <- data.frame(a = c(0.1,0.2,0.3, 4,5,6, 7000,8000,9000),
b = c('a', 'a', 'a', 'b', 'b', 'b', 'c', 'c', 'c' ),
c = c('aa', 'bb', 'cc', 'aa', 'bb', 'cc', 'aa', 'bb', 'cc'))
ggplot(testdata, aes(x = c, y = a)) +
geom_bar(stat = 'identity') +
geom_text(aes(label = a), vjust = -1) +
facet_wrap(~b, ncol=1, scales = 'free_y')