[英]ggplot2 - geom_tile border rendering
我打算渲染2個具有不同單元格邊界長度的網格,以說明如何處理多少個單元格重疊(聚合數據)的差異。
考慮以下ggplot2圖:
用以下代碼制作:
library("ggplot2")
library("gtools")
big_cell_size = 1
small_cell_size = 0.3
width = 4
make_cell_data <- function(cell_size) {
n_cells = width / cell_size
vals = seq(from = cell_size / 2, to = width, by = cell_size)
perms <- permutations(length(vals),2, v=vals)
x_vals <- append(perms[,1], vals)
y_vals <- append(perms[,2], vals)
data.frame(x = x_vals, y = y_vals)
}
p <- ggplot(data = make_cell_data(big_cell_size), aes(x, y))
p <- p + labs(x="", y="")
p <- p + geom_tile(data = make_cell_data(big_cell_size), alpha=0, color="black", width=1, height=1)
p <- p + geom_tile(data = make_cell_data(small_cell_size), alpha=0, color="darkorange", width=0.3, height=0.3, linetype="35")
p <- p + theme(aspect.ratio=1)
p
我正在使用geom_tile,因為在使用geom_raster時,似乎沒有一種使單元透明的方法。
我的問題:
您將許多問題合而為一,因此最好將它們分解成不同的問題。 考慮到要對號碼進行不同的分組,這是gtools
中的兩種方法,它們可以實現所需的功能。
gtools::combinations(3,2,letters[1:3],repeats=TRUE)
產量
[,1] [,2]
[1,] "a" "a"
[2,] "a" "b"
[3,] "a" "c"
[4,] "b" "b"
[5,] "b" "c"
[6,] "c" "c"
gtools::permutations(3,2,letters[1:3],repeats=TRUE)
產量
[,1] [,2]
[1,] "a" "a"
[2,] "a" "b"
[3,] "a" "c"
[4,] "b" "a"
[5,] "b" "b"
[6,] "b" "c"
[7,] "c" "a"
[8,] "c" "b"
[9,] "c" "c"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.