geom_text игнорирует уклонение позиции

Я пытаюсь создать гистограмму следующего фрейма данных:

df <- structure(list(HCT_range = c("Low", "Low", "Low", "Low", "Low", 
"Low"), HG1_range = c("High", "High", "Normal", "High", "High", 
"Normal"), HG2_range = c("High", "Normal", "High", "High", "Normal", 
"High"), n = c(17L, 54L, 66L, 15L, 61L, 60L), Type = c("LHH", 
"LHN", "LNH", "LHH", "LHN", "LNH"), File = c("a", "a", "a", "b", 
"b", "b"), Perc = c(0.0387, 0.123, 0.1503, 0.0342, 0.1389, 0.1366
 )), row.names = c(NA, -6L), class = c("tbl_df", "tbl", "data.frame"
))

Я пытаюсь создать точечный гистограммы с помощью следующей команды:

ggplot(data = df, aes(x = Type, y = n)) +
  geom_col(aes(fill = File), position = position_dodge(width = 0.9)) +
  geom_text(aes(label = Perc), position = position_dodge(0.9))

Но по какой-то причине тест не уклоняется, а складывается - несмотря на вызов конкретной позиции.

Есть идеи?

1 ответ

Решение

Вам просто нужно указать, что ваши бары представляют с помощью аргумента заполнения. В противном случае ggplot не знает, где разместить текст. Решает ли это вашу проблему?

ggplot(data = df, aes(x = Type, y = n, fill=File)) +
      geom_col(aes(fill = File), position = position_dodge(width = 0.9)) +
      geom_text(aes(label = Perc), position = position_dodge(0.9))

Вы также можете взглянуть на этот вопрос: поместите geom_text на уклоненный барплот

Другие вопросы по тегам