【问题标题】:map in R does not show the colors correctlyR中的地图无法正确显示颜色
【发布时间】:2020-04-02 07:12:06
【问题描述】:

我有一个包含 FIPS 和颜色的数据框,但是当我绘制颜色时,它们并没有以它们应该绘制的颜色绘制。

这是我的数据框:

df = pd.Dataframe {'fips': ['01001', '01002', ...],
                   'colors': ['#ffffff, #fc9d9d, ...]

我使用 map 函数来绘制这些值:

map("county", fill=TRUE, col=df$colors, projection = "polyconic")

我试过了,当颜色列中的所有值都相等而不是绘制该特定颜色时,它绘制黑色,当我有我所描绘的真实颜色时,它显示的颜色与实际颜色不同。

【问题讨论】:

  • 您的数据框是 python 中的熊猫。地图功能从何而来?

标签: r dataframe colors maps


【解决方案1】:

使用地图(来自地图包)时,颜色必须完全按照多边形绘制的顺序分配,不幸的是,这与 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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-22
    • 1970-01-01
    • 1970-01-01
    • 2014-06-08
    • 2019-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多