R许多数据类的调色板

R许多数据类的调色板,r,colors,ggplot2,R,Colors,Ggplot2,R中的调色板是否有可以处理许多数据类的好包?我有16个顺序数据类。我试过RColorBrewer,但它最多有9个数据类,我也试过rainbow(),但它对顺序数据没有吸引力。谢谢试试“颜色调色板”并制作您自己的功能 经过多次实验,我想出了25种颜色,它们大部分都是可以分辨的。这适用于分类数据,而不是连续/顺序数据 c25pals软件包有几个不同的调色板,每个调色板都有不同的颜色。以下是可用的选项板: library(pals) pal.bands(alphabet, alphabet2, col

R中的调色板是否有可以处理许多数据类的好包?我有16个顺序数据类。我试过RColorBrewer,但它最多有9个数据类,我也试过rainbow(),但它对顺序数据没有吸引力。谢谢

试试“颜色调色板”并制作您自己的功能

经过多次实验,我想出了25种颜色,它们大部分都是可以分辨的。这适用于分类数据,而不是连续/顺序数据


c25pals软件包有几个不同的调色板,每个调色板都有不同的颜色。以下是可用的选项板:

library(pals)
pal.bands(alphabet, alphabet2, cols25, glasbey, kelly, polychrome, 
  stepped, tol, watlington,
  show.names=FALSE)

作为凯文·赖特,我发现对我来说最好的方法是手动制作调色板。在这里,我贡献了我的调色板和一种在多边形中绘制它的方法

# https://stackoverflow.com/questions/15534032/suppress-redraw-when-calling-polygon-in-r
cuts <- function(x) {
    n <- length(x) %/% 4
    map <- rep(c(rep(TRUE,4),FALSE), n)
    result <- rep(NA, n*5)
    result[map] <- x
    result
    }
{
rownumber <- 5
xfloor    <- 0
yheight   <- 6
widthCol  <- 1
colSpacer <- 0.2
# names in: http://www.stat.columbia.edu/~tzheng/files/Rcolor.pdf
manualcolors<-c('black','forestgreen', 'red2', 'orange', 'cornflowerblue', 
                'magenta', 'darkolivegreen4', 'indianred1', 'tan4', 'darkblue', 
                'mediumorchid1','firebrick4',  'yellowgreen', 'lightsalmon', 'tan3',
                "tan1",'darkgray', 'wheat4', '#DDAD4B', 'chartreuse', 
                'seagreen1', 'moccasin', 'mediumvioletred', 'seagreen','cadetblue1',
                "darkolivegreen1" ,"tan2" ,   "tomato3" , "#7CE3D8","gainsboro")

squareVec<-c(rep(rownumber,ceiling(length(manualcolors)/rownumber) ) )

map<-mapybot<-mapytop<-mapxbot<-mapxtop<-numeric()

for (i in 1:length(squareVec)){
    map <- seq(0, 5, length.out = squareVec[i]+1 )
    mapybot <- c(mapybot,(map[1:(length(map)-1)] ) )
    mapytop <- mapybot + (map[2]-map[1] )
    mapxbot <- c(mapxbot,(rep(xfloor + (widthCol*(i-1)), squareVec[i]) ) )
    mapxtop <- c(mapxtop,(rep(xfloor + (widthCol* i ) - colSpacer,squareVec[i]) ) )
}

x <- cbind(mapxbot,mapxbot,mapxtop,mapxtop ) 
y <- cbind(mapybot,mapytop,mapytop,mapybot )

opar<-par(no.readonly=TRUE) # save par

par(mar=c(0,0,0,0), font=2)
plot("", xlim=c(-0.2,max(x)), ylim=c(min(y), max(y)), 
     ylab = "", xaxt='n', 
     xlab = "", yaxt='n',
     main = NULL)

polygon(x=cuts(t(x)), y=cuts(t(y)), col=manualcolors, lwd=2)

text(x=t(x[1:length(manualcolors)]), 
     y=t(y[1:length(manualcolors)])+(yheight/rownumber)/2, 
     labels= manualcolors, 
     cex=0.8, col="white", pos=4
     )

par(opar) # restore par
}
#https://stackoverflow.com/questions/15534032/suppress-redraw-when-calling-polygon-in-r

剪切对于色盲观众,请查看软件包中的
Safe
调色板。此调色板由12种易于区分的颜色组成

# install.packages("rcartocolor")
# or
# install.packages("remotes")
# remotes::install_github("Nowosad/rcartocolor")
library(rcartocolor)

nColor <- 12
scales::show_col(carto_pal(nColor, "Safe"))
#安装程序包(“rcartocolor”)
#或
#安装程序包(“远程”)
#remotes::install_github(“Nowosad/rcartocolor”)
图书馆(彩色)

nColor现在有了
colorspace

例如,要创建具有20种不同颜色的调色板:

库(颜色空间)

q20Polychrome软件包允许创建具有多种不同颜色的调色板。 一些例子:

#安装包(“多色”)
图书馆(多色)
#内置调色板
格拉斯比=格拉斯比。颜色(32)
斯沃琪(格拉斯比)


#根据“种子颜色”创建自己的调色板(36种颜色)`
P36=createPalette(36,c(“#ff0000“,“#00ff00“,“#0000ff”))
样本(第36页)


#根据“种子颜色”创建自己的调色板(50种颜色)`
P50=createPalette(50,c(“#ff0000“,“#00ff00“,“#0000ff”))
样本(P50)

scales
munsell
是否值得一看可能有用NTSC?这是一个伟大的调色板,但我担心它不会与优秀的调色板工作!非常感谢。这是一个修改过的c16版本:c(“道奇蓝2”、“绿色4”、“绿色6A39A”、“FF7F00”、“黑色”、“金色1”、“天空蓝2”、“淡绿色2”、“灰色70”、“褐红色”、“兰花1”、“深绿色”、“深蓝色”、“深红色”、“深蓝色4”、“棕色”)@JulioDiaz:要获取连续数据,请尝试或感谢!需要注意的是,在ggplot2中,需要使用unname(alphabet())等删除颜色名称。