我想绘制对应于眼睛视网膜黄斑(R和L)的两个网格。 细胞的位置应该是这个
我可以使用ggplot2
获得下面的情节width <- rnorm(128)
row <- rep(rep(seq(1,8),8),2)
col <- rep(unlist(lapply(seq(1,8), rep, 8)))
cell <- paste0(row, ".", col)
eye <- factor(c(rep("R", 64), rep("L", 64)), levels = c("R","L"))
data <- data.frame(x, row, col, cell, eye)
ggplot(data = data, aes(x=col, y=row, fill=width)) +
geom_tile() +
geom_text(aes(label=cell)) +
facet_grid(.~eye) +
ggtitle("Macular grids")
但是我需要反转与左眼相对应的网格的x轴。
如果可能的话,我想用facet来做,也就是说,没有grid.arrange
。
答案 0 :(得分:1)
如果在将R或L粘贴到数字后将x变量设为一个因子,则可以这样做。可以指定因子的顺序,并在scale_x_manual
width <- rnorm(128)
row <- rep(rep(seq(1,8),8),2)
col <- rep(1:8, each = 8)
cell <- paste0(row, ".", col)
eye <- factor(rep(c("R", "L"), each = 64), levels = c("R","L"))
data <- data.frame(width, row, col, cell, eye) %>%
mutate(col2 = paste0(col, eye),
col2 = factor(col2, levels = c(paste0(8:1, "R"), paste0(1:8,"L"))))
ggplot(data = data, aes(x=col2, y=row, fill=width)) +
geom_tile() +
geom_text(aes(label=cell)) +
scale_x_discrete(label = function(str){substring(str, 1, 1)}) +
facet_grid(.~eye, scales = "free_x") +
ggtitle("Macular grids")