R 中的地图无法正确显示颜色
map in R does not show the colors correctly
我有一个数据框,里面有 FIPS 和颜色,但是当我绘制颜色时,它们并没有以应该绘制的颜色绘制。
这是我的数据框:
df = pd.Dataframe {'fips': ['01001', '01002', ...],
'colors': ['#ffffff, #fc9d9d, ...]
我使用 map 函数绘制这些值:
map("county", fill=TRUE, col=df$colors, projection = "polyconic")
我试过了,当颜色列中的所有值都相等而不是绘制特定颜色时,它绘制黑色,当我有我描绘的真实颜色时,它显示的颜色不是实际颜色。
使用地图(来自地图包)时,颜色必须完全按照绘制多边形的顺序分配,不幸的是,这与 fips 编号不完全相同。所以你需要构造正确的颜色向量。为此,您可以使用 match.map() 和 county.fips 数据集:
x <- match.map("county", county.fips$polyname)
xfips <- county.fips$fips[x]
现在我们有了一个顺序完全正确的 fips 代码向量。请注意,如果一个县由多个多边形(例如岛屿)组成,有些甚至可能出现两次。但我们仍然必须将它们转换为 5 个字符的字符串:
myfips <- sprintf("%05i", xfips)
对应的颜色向量变为:
mycol <- df$colors[match(myfips, df$fips)]
现在,终于可以画地图了:
map("county", fill=T, col=mycol)
我有一个数据框,里面有 FIPS 和颜色,但是当我绘制颜色时,它们并没有以应该绘制的颜色绘制。
这是我的数据框:
df = pd.Dataframe {'fips': ['01001', '01002', ...],
'colors': ['#ffffff, #fc9d9d, ...]
我使用 map 函数绘制这些值:
map("county", fill=TRUE, col=df$colors, projection = "polyconic")
我试过了,当颜色列中的所有值都相等而不是绘制特定颜色时,它绘制黑色,当我有我描绘的真实颜色时,它显示的颜色不是实际颜色。
使用地图(来自地图包)时,颜色必须完全按照绘制多边形的顺序分配,不幸的是,这与 fips 编号不完全相同。所以你需要构造正确的颜色向量。为此,您可以使用 match.map() 和 county.fips 数据集:
x <- match.map("county", county.fips$polyname)
xfips <- county.fips$fips[x]
现在我们有了一个顺序完全正确的 fips 代码向量。请注意,如果一个县由多个多边形(例如岛屿)组成,有些甚至可能出现两次。但我们仍然必须将它们转换为 5 个字符的字符串:
myfips <- sprintf("%05i", xfips)
对应的颜色向量变为:
mycol <- df$colors[match(myfips, df$fips)]
现在,终于可以画地图了:
map("county", fill=T, col=mycol)