我看了一会儿,但我不太确定如何访问R中的现有调色板,例如用于调色板"Blues"
的所有颜色。
我目前正在使用包tmap
制作地图。在那里,我想要绘制不同年份的婚姻生育数据,以进行比较。每个数据集都有六个不同的值,但总共四年中我有七个数据可以使数据具有可比性。
我发现这个页面带有SAS代码,并使用了#34; 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代码会更好。
如果我错过任何帖子,如果你能推荐现有的帖子,我仍然会感激不尽。
答案 0 :(得分:1)
如果使用参数调用调色板函数,它将返回颜色值:
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()