gpt4 book ai didi

r - geom_map 所有子区域颜色相同

转载 作者:行者123 更新时间:2023-12-04 09:33:11 25 4
gpt4 key购买 nike

既然 ggplot2 具有 geom_map,我正试图从旧的映射数据的方法转移到等值线图。第 10-11 页 (HERE) 中有一个示例。

我正在尝试使用我过去创建的等值线的数据集来执行此操作,而不是使用 ggplot 的新 geom_map。这是我的尝试,我认为它类似于 Hadely 的示例,但所有内容都是相同的颜色。

数据集及代码:

#loads 2 data frames: ny and cad from my drop box
load(url("http://dl.dropbox.com/u/61803503/MAPPING.RData"))
library(ggplot2)

ggplot(cad, aes(map_id = subregion)) +
geom_map(aes(fill = Math_Pass_Rate), map = ny) +
expand_limits(x = ny$long, y = ny$lat) +
guides(fill = guide_colorbar(colours = topo.colors(10))) +
opts(legend.position = "top")

为什么它显示为相同的颜色?


来自@PaulHiemstra 的其他信息

我对此有些费解,并没有得到好的结果。但是,我也想知道为什么您链接到的 ggplot2 pdf 中的示例有效。

此代码生成正确的等值线图。

crimes <- data.frame(state = tolower(rownames(USArrests)), USArrests)
states_map <- map_data("state")
ggplot(crimes, aes(map_id = state)) +
geom_map(aes(fill = Murder), map = states_map) +
expand_limits(x = states_map$long, y = states_map$lat) +
guides(fill = guide_colorbar(colours = topo.colors(10))) +
opts(legend.position = "top")

人们会期望通过使用 map_id = state,在 states_map 中的一列(多边形)和 crimes< 中的一列之间建立链接(谋杀)。 crimes 包含一个 state 列:

> head(crimes)
state Murder Assault UrbanPop Rape
Alabama alabama 13.2 236 58 21.2
Alaska alaska 10.0 263 48 44.5
Arizona arizona 8.1 294 80 31.0
Arkansas arkansas 8.8 190 50 19.5
California california 9.0 276 91 40.6
Colorado colorado 7.9 204 78 38.7

但是 states_map 没有:

> head(states_map)
long lat group order region subregion
1 -87.46201 30.38968 1 1 alabama <NA>
2 -87.48493 30.37249 1 2 alabama <NA>
3 -87.52503 30.37249 1 3 alabama <NA>
4 -87.53076 30.33239 1 4 alabama <NA>
5 -87.57087 30.32665 1 5 alabama <NA>
6 -87.58806 30.32665 1 6 alabama <NA>

所以在多边形和数据之间的链接中,似乎发生了一些黑魔法。这也可以解释@TylerRinker 的问题。

最佳答案

这是记录在案的 geom_map 行为。 geom_map 总是从 states_map 中绘制 region 变量(或者 id)。以下证实了这一点。运行:

ny$region = ny$subregion

subregion 名称放入 region 列。现在绘图导致正确的图像:

enter image description here

因此,geom_map 使用regionid

关于r - geom_map 所有子区域颜色相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10219919/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com