我正在尝试在 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 包(v0.3.0)于 2020 年 7 月 13 日创建
你可能不得不在你的真实情节中稍微调整一下。这些只是为了说明目的而选择的。