如何访问 R 中调色板的现有代码

How to access existing code for color palettes in R

我找了一会儿,但不太确定如何访问 R 中现有的调色板,例如调色板使用的所有颜色 "Blues".

我目前正在使用包 tmap 制作地图。在那里,我想映射不同年份的婚内生育数据以进行比较。每个数据集有六个不同的值,但我在所有四年中总共有七个值以使数据具有可比性。

我发现此页面带有 SAS 代码,并使用 "Blues" 的色阶和七个值,为调色板编写以下代码:

library(grDevices)
blues.nmr.1984 <- colorRampPalette(c("#EFF3FF","#c6DBEF","#9ECAE1","#6BAED6","#4292C6","#2171B5"))

之后,我打算在以下 shapefile 和以下代码中使用调色板:

http://www.filedropper.com/districts1994

library(rgdal) #for uploading shapefile
districts1994 <- readOGR(dsn ="directory", layer = "districts1994")

library(tmap)
tm_shape(districts1994) +
tm_fill("nmr", title="Non-marital ratio", palette = "blues.nmr.1984") +
tm_borders("darkgray") +
tm_format_Europe() +
tm_legend(text.size=.8,
            title.size=1.1,
            position = c("right","bottom"),
            height=1,
            width=1) + 
 tm_layout("1994", title.position=c("left", "top"),
            inner.margins=c(0.02,0,.02,0.15), asp=1)

显然不是所有的颜色都知道,因为我在使用的时候出现了如下错误:Error in col2rgb(col) : invalid color name 'blues.nmr.1984' 所以,我想知道 "Blues" 调色板中颜色的原始 R 代码会更好。

如果我遗漏了任何 post 如果您能推荐一个现有的,我仍然会很感激。

如果您使用参数调用调色板函数,它将 return 颜色值:

palette = blues.nmr.1984(5))

在此实例中更具体(修剪使用未定义对象的额外内容):

library(rgdal) 
directory <- path.expand("~/Downloads/districts1994") # tilde expansion not supported apparently
districts1994 <- readOGR(dsn =directory, layer = "districts1994")

library(tmap)
 png(); tm_shape(districts1994) +
 tm_fill("nmr", title="Non-marital ratio", palette = blues.nmr.1984(5)) +
 tm_borders("darkgray"); dev.off()