提问人:Zhaochen He 提问时间:4/10/2023 更新时间:4/10/2023 访问量:76
choroplethR:state_choropleth不再处理 AK 和 HI
choroplethR: state_choropleth no longer handles AK and HI
问:
我直接使用文档文件中的代码:
library(choroplethr)
library(choroplethrMaps)
data(df_pop_state)
state_choropleth(df_pop_state,
title = "US 2012 State Population Estimates",
legend = "Population")
这将产生以下警告:
Warning messages:
1: In private$zoom == "alaska" || private$zoom == "hawaii" :
'length(x) = 51 > 1' in coercion to 'logical(1)'
2: In private$zoom == "alaska" || private$zoom == "hawaii" :
'length(x) = 51 > 1' in coercion to 'logical(1)'
生成的映射无法正确显示 HI 和 AK 的数据
这是由于 ggplot2 的变化吗?请指教。
答:
0赞
Ari
4/10/2023
#1
顺便说一句,我不知道(还记得吗?)那个警告是关于什么的。但我相信 AK 和 HI 都得到了正确的渲染。
例如,以下代码将 AK 和 HI 设置为数据集中的最大值,然后呈现地图。你可以看到它们变得非常暗:
df_pop_state[2, 2] = 40000000 # Alaska
df_pop_state[12, 2] = 40000000 # Hawaii
state_choropleth(df_pop_state)
如果你想让我深入研究警告的内容,请创建另一个关于它的问题。(我是 choroplethr 的作者,但我已经好几年没有接触过这个代码了)。
一般问题是这张地图正在渲染州边界的实际经度和纬度路径 - “轴”只是隐藏的。复杂的是,AK 和 HI 显然并没有真正位于您在最终地图上看到它们的位置。在地理学界,它们被称为“插图”。Choroplethr 使用 ggplot 的“注释”功能分别渲染它们,然后将它们放置在地图上。他们的意思是,他们都需要使用相同的比例。该警告可能会在插入过程中的某个时刻触发。但顺便说一句,我不知道它是什么。
评论