如何在 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 稍微调整一下您的真实情节。这些只是为了说明目的而选择的。
我正在尝试在 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 稍微调整一下您的真实情节。这些只是为了说明目的而选择的。