Closed. This question is not reproducible or was caused by typos。它当前不接受答案。












想改善这个问题吗?更新问题,以便将其作为on-topic用于堆栈溢出。

3年前关闭。



Improve this question




我有一个SpatialPolygonsDataFrame,其中的列包含十六进制颜色值。我想用tmap包绘制这样的地图:
tm_shape(full.shp) + tm_fill(col="konf1900")

但随后将其视为类别变量,结果是:

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

有人可以帮忙吗?

编辑:
请参阅下面的答案-问题是dataframe列未编码as.character。我认为这可能会在某个时候帮助某人...

最佳答案

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

full.shp$konf1900char <- as.character(full.shp$konf1900)
tm_shape(full.shp) + tm_fill(col="konf1900char")

需要使用as.character将其转换为字符。
另外,没有NA值也很重要,可以将它们转换为白色(十六进制格式#ffffff):
full.shp$konf1900char[is.na(full.shp$konf1900char)] <- "#ffffff"

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

编辑:
这是生成的图像(与上面问题中的屏幕截图比较):
r - tmap中具有颜色值的列-LMLPHP

关于r - tmap中具有颜色值的列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40357115/

10-10 16:02