Корректировка меток на гистограмме ggplot2, независимо от значения данных - PullRequest
1 голос
/ 30 марта 2020

Я добавил метки к своей гистограмме, используя hjust, но по какой-то причине они находятся дальше для баров, которые имеют более высокие значения. В идеале я хочу, чтобы все они были достаточно близко к каждому бару.

plot_snpEff_annotations <- ggplot(plot_METTL14_can_exome_annotations, aes(plot_METTL14_can_exome_annotations$snpEff_Annotation)) + 
  geom_bar(position = "dodge", color = "black", fill=my_palette) +
  theme_minimal() +
  coord_flip() +
  geom_text(aes(label = ..count.., hjust = -1), stat="count", size = 3) +
  labs(title = "Types of Variants in METTL14", subtitle = "snpEff Annotation", 
       x = "Count", y = "Variant Type")
plot_snpEff_annotations

Image1

1 Ответ

0 голосов
/ 30 марта 2020

hjust обычно колеблется от 0 до 1, при этом 0,5 выравнивается по центру. Я бы порекомендовал установить hjust = 0, а затем с помощью регуляторов nudge настроить величину в координатах данных. Например:

ggplot(data.frame(a = letters[1:3], b = 1:3), aes(x = a, y = b)) +
  geom_col() +
  geom_text(aes(label = b^3), hjust = 0, nudge_y = 0.05) +
  coord_flip()

Причина, по которой ваш hjust ведет себя не так, как вы ожидаете: текст «привязан» к координате данных. Если вы установите hjust = 0, он будет выровнен по левому краю с этой точкой в ​​качестве поля При hjust = 0.5 центр текста будет этой точкой, а hjust = 1 будет выровнен по правому краю с этой точкой в ​​качестве поля. Шкала является линейной, и более длинный текст должен перемещаться дальше, чем более короткий текст, к выравниванию по левому и правому краям на go, а когда вы на go превышаете интервал (0, 1), он продолжается с той же скоростью.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...