所以我修改了形状配置文件以添加夏威夷和阿拉斯加,因此我的数据框使用的是不同的长,纬度坐标,而不是maps
包(map_data("state")
)提供的库存状态坐标,如下所示< / p>
states <- data.frame(state.center, state.abb)
states
x y state.abb
1 -86.7509 32.5901 AL
2 -127.2500 49.2500 AK
3 -111.6250 34.2192 AZ
4 -92.2992 34.7336 AR
5 -119.7730 36.5341 CA
我的数据框的坐标如下。
当我使用下面的代码绘制它时,我得到一张没有任何州缩写标签的地图。
p <- function(data, brks, title) {
ggp <- ggplot() +
geom_polygon(data = data, aes(x = long, y = lat, group = group,
fill = IMSUB), color = "black", size = 0.15) +
scale_fill_gradient2(limits=c(-1,1), breaks = c(-1, 0, 1), labels=c("Trump", 0, "Clinton"), low = "red", mid = "white",
high = "blue", midpoint = 0, space = "Lab",
na.value = "grey50", guide = "colourbar") +
theme_nothing(legend = TRUE) + labs(title = title, fill = "") +
geom_text(data = states, aes(x = x, y = y, label = state.abb), size = 3)
return(ggp)
}
我觉得我可以将states
数据框中的坐标替换为us50
中的坐标,但我不确定如何正确替换它们。
答案 0 :(得分:0)
您是否尝试过aes()
内的尺寸?
geom_text(data=state, aes(x y, label = state.abb, size=3)
如果没有,这个其他方法可能会起作用,只需替换geom_text行:
with(states, annotate(geom="text", x = x y=y, label = state.abb, size = 3))
它应该使用状态应用注释,作为x和amp;的文本。你作为你的拉特和长......这应该有用。