tmap 中具有颜色值的列

Mar*_*rio 4 r colors tmap

我有一个 SpatialPolygonsDataFrame,其中包含包含十六进制颜色值的列。我想用 tmap 包来绘制这样的地图:

tm_shape(full.shp) + tm_fill(col="konf1900")
Run Code Online (Sandbox Code Playgroud)

但随后它被视为类别变量,结果是: 截图 2016-11-01 10 15 53

我不知道如何告诉 tmap 它应该直接在地图上绘制颜色值......

有人可以帮忙吗?

编辑: 请参阅下面的答案 - 问题是数据帧列未编码as.character。我想这有时可能会对某人有所帮助......

Mar*_*rio 5

显然,问题出在列的类型上:

full.shp$konf1900char <- as.character(full.shp$konf1900)
tm_shape(full.shp) + tm_fill(col="konf1900char")
Run Code Online (Sandbox Code Playgroud)

需要将其转换为带有as.character. 另外,重要的是没有 NA 值,它们可以转换为白色(十六进制格式的#ffffff):

full.shp$konf1900char[is.na(full.shp$konf1900char)] <- "#ffffff"
Run Code Online (Sandbox Code Playgroud)

通过这些转换,它可以很好地与 tmap 配合使用,并且 tm_fill 从变量中获取颜色值。

编辑:
这是生成的图像(与上面问题中的屏幕截图相比): 在此输入图像描述