如何更改 ggplot 地图中颜色指南中的框颜色?
How to change the box color in the colour guide in ggplot maps?
我用过:
geom_polygon(aes(color = as.factor(VALE),
fill = ES.PC)) + scale_color_manual(values = c("Vale do Ribeira" = 'black', "Other regions of SP" = 'white'))
在 ggplot2 地图中分隔不同的区域,但我需要将引导框的颜色从灰色更改为白色
那些用红色圈出“Vale do Ribeira”和“其他地区”的方框
一个选项是使用 guide_legend
的 override.aes
参数来设置色标的填充颜色。
调整来自 ?geom_polygon
的默认示例:
library(ggplot2)
ggplot(datapoly, aes(x = x, y = y)) +
geom_polygon(aes(fill = value, group = id, color = factor(id2))) +
guides(color = guide_legend(override.aes = list(fill = "white")))
数据
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"))
datapoly$id2 <- grepl("^1", datapoly$id)
我用过:
geom_polygon(aes(color = as.factor(VALE),
fill = ES.PC)) + scale_color_manual(values = c("Vale do Ribeira" = 'black', "Other regions of SP" = 'white'))
在 ggplot2 地图中分隔不同的区域,但我需要将引导框的颜色从灰色更改为白色
那些用红色圈出“Vale do Ribeira”和“其他地区”的方框
一个选项是使用 guide_legend
的 override.aes
参数来设置色标的填充颜色。
调整来自 ?geom_polygon
的默认示例:
library(ggplot2)
ggplot(datapoly, aes(x = x, y = y)) +
geom_polygon(aes(fill = value, group = id, color = factor(id2))) +
guides(color = guide_legend(override.aes = list(fill = "white")))
数据
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"))
datapoly$id2 <- grepl("^1", datapoly$id)