日々のつれづれ

不惑をむかえ戸惑いを隠せない男性の独り言

カラーコードの関数

いろんなグラデーションを持っていたら、楽だなあと思っていた。
緑 - 黄 - 赤の要求が多かったですが、この色目は嫌いでした。青 - 白か、白 - 青がオススメです。
でも、結局、グレースケールが一番、視認性が高かったりする。印刷も安いし…

  • カラーコードを作る関数
> col.seq <- function(colx="wb",n=40){
+ library("gplots")
+ if(colx=="ryg") x <- colorpanel(n=n+1, low="red", mid="gold", high="green")
+ if(colx=="gyr") x <- colorpanel(n=n+1, low="green", mid="gold", high="red")
+ if(colx=="gbr") x <- greenred(n+1)
+ if(colx=="rbg") x <- redgreen(n+1)
+ if(colx=="gwr") x <- colorpanel(n=n+1, low="red",mid="white", high="green")
+ if(colx=="rwg") x <- colorpanel(n=n+1, low="green",mid="white", high="red")
+ if(colx=="bwr") x <- bluered(n+1)
+ if(colx=="rwb") x <- redblue(n+1)
+ if(colx=="wb") x <- colorpanel(n=n+1, low="white", high="blue")
+ if(colx=="wg") x <- colorpanel(n=n+1, low="white", high="green")
+ if(colx=="wr") x <- colorpanel(n=n+1, low="white", high="red")
+ if(colx=="bw") x <- rev(colorpanel(n=n+1, low="white", high="blue"))
+ if(colx=="gw") x <- rev(colorpanel(n=n+1, low="white", high="green"))
+ if(colx=="rw") x <- rev(colorpanel(n=n+1, low="white", high="red"))
+ if(colx=="rainbow") if(n>6) x <- rainbow(n=n+ceiling(n/7))[seq(n)]
+ detach("package:gplots")
+ return(x)
+ }
> col.seq()
 [1] "#FFFFFF" "#F9F9FF" "#F2F2FF" "#ECECFF" "#E6E6FF" "#DFDFFF" "#D9D9FF"
 [8] "#D2D2FF" "#CCCCFF" "#C6C6FF" "#BFBFFF" "#B9B9FF" "#B2B2FF" "#ACACFF"
[15] "#A6A6FF" "#9F9FFF" "#9999FF" "#9393FF" "#8C8CFF" "#8686FF" "#8080FF"
[22] "#7979FF" "#7373FF" "#6C6CFF" "#6666FF" "#6060FF" "#5959FF" "#5353FF"
[29] "#4C4CFF" "#4646FF" "#4040FF" "#3939FF" "#3333FF" "#2D2DFF" "#2626FF"
[36] "#2020FF" "#1A1AFF" "#1313FF" "#0D0DFF" "#0606FF" "#0000FF"

> jpeg("pie_blue.jpg")
> layout(matrix(1:4,ncol=2))
> par(mai=c(0,0,0,0))
> pie(rep(100/40,40),col=col.seq("wb"))
> pie(rep(100/40,40),col=col.seq("ryg"))
> pie(rep(100/40,40),col=col.seq("gbr"))
> pie(rep(100/40,40),col=col.seq("rainbow"))
> dev.off()

colorpanel関数、greenred関数、redgreen関数、bluered関数、redblue関数自体、それすら指定するのが面倒だった頃に作ってしまった…
う〜ん、今振り返ると、無駄な関数を作っていたな〜と思う。