plotとかで使う色を操作する
colors()で色が取得できる。白とか、特定の色を抜いたベクトルを作る方法。なんかもっと賢い方法があったような...。(2011/07/04)
color_index <- as.matrix(colors())
# 使いたくない色をout_colorに格納(白とか)
out_color <- c("white","snow","snow1","snow2","red","red1","red2","blue","blue1","blue2","green","green1","green2","black","ivory","ivory1","ivory2")
# 以下、色を取り除くプロセス
### 1:関数化した場合 ###
rm_color <- function(x,y){
flag <- FALSE
for (i in 1:as.numeric(summary(y)[[1]])){
if (y[i]==x) {flag <- TRUE}
}
if (flag == FALSE){ return(x)}
}
new_color <- apply(color_index,1,function(x){rm_color(x,out_color)})
### 2: 1-linerで rm_color()をやる場合 ###
# new_color <- apply(as.matrix(color_index),1,function(x){flag <- FALSE; for (i in 1:as.numeric(summary(out_color)[[1]])){if (x==out_color[i]){flag <- TRUE}}; if(flag==FALSE){return(x)}})
# 最後に、Nullを含んだlistで吐き出されるのでNULLを削り、unlistして格納
new_color <- unlist(new_color[new_color!="NULL"])