1

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

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

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

4

1 回答 1

3

您可以使用该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 包(v0.3.0)于 2020 年 7 月 13 日创建

你可能不得不在你的真实情节中稍微调整一下。这些只是为了说明目的而选择的。

于 2020-07-13T19:09:17.877 回答