Как равномерно построить geom_text в R? - PullRequest
1 голос
/ 13 июля 2020

Я пытаюсь создать график в стиле infographi c в ggplot, но у меня много проблем с тем, как начать. Я хочу построить количество переменных (женщин) внутри изображения с названием страны под ним. Я подумал, что это должно быть через метки geom_text, но я не знаю, как сделать их равномерно распределенными в сетке, и не увенчался успехом в моем inte rnet поиске. Если бы кто-нибудь мог указать мне в правильном направлении, что искать, или общий совет, это было бы здорово!

Country   Women
Austria     1
Belgium     3
France      1
Germany     5
etc...

Это пример того, что я пытаюсь сделать: пример того, что я хочу

1 Ответ

3 голосов
/ 13 июля 2020

Вы можете использовать функцию expand.grid() для размещения координат в равномерно распределенной сетке. Вот пример с некоторыми фиктивными данными:

library(ggplot2)

df <- data.frame(
  Country = LETTERS[1:12],
  Women = sample(12)
)

grid <- expand.grid(x = 1:4, y = 1:3)

df <- cbind(df, grid)

ggplot(df, aes(x, y * 2)) +
  geom_text(aes(label = Women)) +
  geom_text(aes(label = Country), nudge_y = -1) +
  geom_text(aes(label = "\u2640"), size = 15, nudge_y = -0.075) +
  theme_void()

Created on 2020-07-13 by the пакет REPEX (v0.3.0)

Вероятно, вам придется немного поиграть с подталкивания в вашем реальном сюжете. Они были выбраны только для иллюстрации.

...