web-dev-qa-db-ja.com

C色切り替え可能なカラーの組み合わせをプロットします

ColorBlindの人々が見ることができるプロットのための4-8色基本rを選ぶにはどうすればよいですか。

下記は基本Rカラーパレットです。パッケージを使用せずに基本Rの解を探しています。

基本Rカラーパレットガイド: http://www.stat.columbia.edu/~tzheng/files/rcolor.pdf

カラーブラインドのカラーパレット: http://mkweb.bcgsc.ca/colorblind/

具体的には、基本Rにアクセス可能な色を手動で作成する方法を説明しますか?

例えば下図図に記載されているように、「朱色」、「青みがかった緑」、および「赤みを吹いている」。

enter image description here

5
Mark

質問図にリストされているように基本でカスタムカラーパレットを作成するには

_customvermillion<-rgb(213/255,94/255,0/255)
custombluegreen<-rgb(0/255,158/255,115/255)
customblue<-rgb(0/255,114/255,178/255)
customskyblue<-rgb(86/255,180/255,233/255)
customreddishpurple<-rgb(204/255,121/255,167/255) 
_

その後INを参照するとき

plot()

パラメータを使用する代わりに:

plot(mtcars$mpg,mtcars$hp,col=c("orange","skyblue"))

パラメータを使用:

plot(mtcars$mpg,mtcars$hp,col=c(customorange,customskyblue))

2
Mark

これらはあなたが投稿した画像内の色の16進コードです

colorBlindBlack8  <- c("#000000", "#E69F00", "#56B4E9", "#009E73", 
                       "#F0E442", "#0072B2", "#D55E00", "#CC79A7")
pie(rep(1, 8), col = colorBlindBlack8)
 _

colorBlindGrey8   <- c("#999999", "#E69F00", "#56B4E9", "#009E73", 
                       "#F0E442", "#0072B2", "#D55E00", "#CC79A7")
scales::show_col(colorBlindGrey8)
 _

8色以上の場合, rcartocolorSafeパレットが12色で

safe_colorblind_palette <- c("#88CCEE", "#CC6677", "#DDCC77", "#117733", "#332288", "#AA4499", 
                             "#44AA99", "#999933", "#882255", "#661100", "#6699CC", "#888888")
scales::show_col(safe_colorblind_palette)
 _

連続または発散のカラーマップが必要な場合は、これらのパレットをチェックしてください。

library(rcartocolor)
display_carto_all(colorblind_friendly = TRUE)
 _

2019-07-22で repress Package (v0.3.0)

2
Tung

viridisパッケージのカラースケールはすべてカラーブラインドアクセス可能です。 https://cran.r-project.org/web/packages/viridis/vignettes/intro-to-viridis.html#the-color-scales

あなたがリンクされたPDFのように色を使う必要がある場合は、viridisパレットから名前付きの色のリストへの色を一致させます。 4-8のために、これは視覚的にやるのはとても簡単です。

1
tim

パッキタをパッケージで生成し、それらを基本rのみで再作成する「ハードコードされた」コードを生成することができます。ここでは、例えばデータフレーム内のすべてのColourbrewer Palletesから4色です。

# install.packages('RColorBrewer')

palletes <-
structure(c("#A6611A", "#D01C8B", "#7B3294", "#E66101", "#CA0020", 
"#CA0020", "#D7191C", "#D7191C", "#D7191C", "#7FC97F", "#1B9E77", 
"#A6CEE3", "#FBB4AE", "#B3E2CD", "#E41A1C", "#66C2A5", "#8DD3C7", 
"#EFF3FF", "#EDF8FB", "#EDF8FB", "#F0F9E8", "#EDF8E9", "#F7F7F7", 
"#FEEDDE", "#FEF0D9", "#F1EEF6", "#F6EFF7", "#F1EEF6", "#F2F0F7", 
"#FEEBE2", "#FEE5D9", "#FFFFCC", "#FFFFCC", "#FFFFD4", "#FFFFB2", 
"#DFC27D", "#F1B6DA", "#C2A5CF", "#FDB863", "#F4A582", "#F4A582", 
"#FDAE61", "#FDAE61", "#FDAE61", "#BEAED4", "#D95F02", "#1F78B4", 
"#B3CDE3", "#FDCDAC", "#377EB8", "#FC8D62", "#FFFFB3", "#BDD7E7", 
"#B2E2E2", "#B3CDE3", "#BAE4BC", "#BAE4B3", "#CCCCCC", "#FDBE85", 
"#FDCC8A", "#BDC9E1", "#BDC9E1", "#D7B5D8", "#CBC9E2", "#FBB4B9", 
"#FCAE91", "#C2E699", "#A1DAB4", "#FED98E", "#FECC5C", "#80CDC1", 
"#B8E186", "#A6DBA0", "#B2ABD2", "#92C5DE", "#BABABA", "#ABD9E9", 
"#A6D96A", "#ABDDA4", "#FDC086", "#7570B3", "#B2DF8A", "#CCEBC5", 
"#CBD5E8", "#4DAF4A", "#8DA0CB", "#BEBADA", "#6BAED6", "#66C2A4", 
"#8C96C6", "#7BCCC4", "#74C476", "#969696", "#FD8D3C", "#FC8D59", 
"#74A9CF", "#67A9CF", "#DF65B0", "#9E9AC8", "#F768A1", "#FB6A4A", 
"#78C679", "#41B6C4", "#FE9929", "#FD8D3C", "#018571", "#4DAC26", 
"#008837", "#5E3C99", "#0571B0", "#404040", "#2C7BB6", "#1A9641", 
"#2B83BA", "#FFFF99", "#E7298A", "#33A02C", "#DECBE4", "#F4CAE4", 
"#984EA3", "#E78AC3", "#FB8072", "#2171B5", "#238B45", "#88419D", 
"#2B8CBE", "#238B45", "#525252", "#D94701", "#D7301F", "#0570B0", 
"#02818A", "#CE1256", "#6A51A3", "#AE017E", "#CB181D", "#238443", 
"#225EA8", "#CC4C02", "#E31A1C"), .Dim = c(35L, 4L), .Dimnames = list(
    c("BrBG", "PiYG", "PRGn", "PuOr", "RdBu", "RdGy", "RdYlBu", 
    "RdYlGn", "Spectral", "Accent", "Dark2", "Paired", "Pastel1", 
    "Pastel2", "Set1", "Set2", "Set3", "Blues", "BuGn", "BuPu", 
    "GnBu", "Greens", "Greys", "Oranges", "OrRd", "PuBu", "PuBuGn", 
    "PuRd", "Purples", "RdPu", "Reds", "YlGn", "YlGnBu", "YlOrBr", 
    "YlOrRd"), NULL))

 _

これはこれを生成するために使用されるコードです。

number_of_colors <- 4
pallete_names <- rownames(RColorBrewer::brewer.pal.info)
pallete_color_generator <- RColorBrewer::brewer.pal

# make color hexcodes:
palletes<-lapply(pallete_names,
                 pallete_color_generator,
                 n = number_of_colors) 

# turn into matrix:
palletes<-do.call(rbind,palletes)

rownames(palletes)<-pallete_names

# dump hard-coded R code to create the object to the console:
dump('palletes','')

 _
1
Ma Ba