色名に関する関数

r-help ML の Gabor Grothendieck の記事より(Sun 29 Jun 2003)

colors.hexcolors.name は色名を16進コード(またその逆)へ変換する。各色名はユニークな16進コードを持つが、16進コードは一つ以上の色名を持つ可能性があることを注意。

  colors.hex <- function( x=colors() ) { 
          color.hex <- function(x) do.call( "rgb", as.list(col2rgb(x)/255) ) 
          sapply( x, color.hex ) 
          } 
  colors.name <- function( x ) { 
          color.name <- function( x ) colors()[ colors.hex() == x ] 
          lapply( x, color.name ) 
          } 

  colors.hex( "red" ) 
  colors.hex( colors()[1:5] ) 
  colors.name( "#FF0000" ) 
  colors.name( rainbow(3) ) 
  colors.name( rainbow(7) ) # 最初の要素だけが名前を持つ

LL はすべての色名を同じ16進コードを持つ同値類に分割する。 LL2 は同様であるが、一つ以上の色名を持つ同値類だけを持つ。

  LL <- by( colors(), colors.hex(), as.vector ) 
  LL2 <- LL[ lapply( LL, length ) > 1 ]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Google
WWW を検索 OKADAJP.ORG を検索
Last-modified: 2015-03-01 (日) 01:15:59 (1634d)