我geom_tile()与geom_textfrom一起使用ggplot2基本上生成一个表:
两个因素(X 和 Y)绘制在 x 轴上(产生两列图块)。因子 Y 的水平嵌套在因子 X 内。因此,绘制了因子 X 的多个相同图块(每个因子 Y 水平一个图块)。有没有办法将因子 X 的图块“合并”为更大的图块,并且每个图块仅出现一次文本?我也愿意接受使用其他功能来geom_tile()实现这一目标的方法。
结果应该是这样的:
这是我的代码:
library(ggplot2)
dat <- data.frame(id = c(1:4, 1:4),
factor = c(rep("X", times = 4), rep("Y", times = 4)),
value = c("A", "A", "B", "B", "C", "D", "E", "F"))
ggplot(dat, aes(y = id, x = factor)) +
geom_tile(color = "black", fill = NA) +
geom_text(aes(label = value))
Run Code Online (Sandbox Code Playgroud)
y = id必须保存。
在我的实际数据中,id 是一个因素:
dat <- …Run Code Online (Sandbox Code Playgroud)