3
我想用ggplot覆蓋幾個多邊形。覆蓋層的填充應該是透明的,但邊框應該是紅色的。我只想看到第一個多邊形的填充,所以我想使覆蓋層透明...但我不能讓它們完全透明。不知何故,我會更容易定義填充顏色爲不填充...但我不知道該怎麼做。有任何想法嗎?在ggplot2中覆蓋多邊形並使覆蓋層透明
下面是一些代碼來重現一個例子:
ids <- factor(c("1.1", "2.1", "1.2", "2.2", "1.3", "2.3"))
values <- data.frame(
id = ids,
value = c(3, 3.1, 3.1, 3.2, 3.15, 3.5)
)
positions <- data.frame(
id = rep(ids, each = 4),
x = c(2, 1, 1.1, 2.2, 1, 0, 0.3, 1.1, 2.2, 1.1, 1.2, 2.5, 1.1, 0.3,
0.5, 1.2, 2.5, 1.2, 1.3, 2.7, 1.2, 0.5, 0.6, 1.3),
y = c(-0.5, 0, 1, 0.5, 0, 0.5, 1.5, 1, 0.5, 1, 2.1, 1.7, 1, 1.5,
2.2, 2.1, 1.7, 2.1, 3.2, 2.8, 2.1, 2.2, 3.3, 3.2)
)
datapoly <- merge(values, positions, by=c("id"))
p <- ggplot(datapoly, aes(x=x, y=y)) + geom_polygon(aes(fill=value, group=id))
# overlay the same plot with red borders and transparent fill
p <- p + geom_polygon(aes(group=id, alpha=1),colour="red",size=1.1)
p
謝謝。這就是我正在尋找的東西。是的你是對的,在這個例子中不需要兩個多邊形。我只是使用這個代碼,因爲它很容易重現。 – Joschi