如何在 R 中均匀绘制 geom_text?

How to evenly plot geom_text in R?

我正在尝试在 ggplot 中创建一个信息图表样式的绘图,但在弄清楚如何开始时遇到了很多麻烦。我想在图像中绘制变量(女性)的计数,下面是国家名称。我想这需要通过 geom_text 标签,但我不知道如何让它们在网格中均匀分布,并且在我的互联网搜索中没有成功。如果有人能指出我要搜索的内容的正确方向或一般性建议,那就太好了!

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

这是我正在尝试做的一个例子:

您可以使用 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()

reprex package (v0.3.0)

于 2020-07-13 创建

您可能需要 fiddle 稍微调整一下您的真实情节。这些只是为了说明目的而选择的。