Rにおける色の名前
の編集
http://www.okadajp.org/RWiki/?R%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8B%E8%89%B2%E3%81%AE%E5%90%8D%E5%89%8D
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
(no template pages)
// 青木繁伸@群馬大学 written by S. AOKI, Jul 04, 2003 color.chart(5,5) 等とすることにより,以下のようなカラーチャートを作成する関数です 第一引数は列数,第二引数は行数。デフォールトはそれぞれ8と10。 半分決めうちしてますので,プロットウインドウの大きさも一緒に調整してください。 一度全部描画して,スクリーンショットを取っておくといいかもしれません。 #ref(colors.png) polygon.plot <- function(row, col, name, name.of.color, height, cell.width, cell.height) { row <- row*cell.width col <- col*cell.height ordinate.x <- c(row, row, row+cell.width, row+cell.width, row) ordinate.y <- height-c(col, col+cell.height, col+cell.height, col, col) polygon(ordinate.x, ordinate.y, col=name.of.color) text(row+cell.width*0.1, height-(col+cell.height*0.6), name, pos=4) text(row+cell.width*0.1, height-(col+cell.height*0.4), name.of.color, pos=4) text(row+cell.width*0.1, height-(col+cell.height*0.2), name.of.color,pos=4,col="white") } color.chart <- function(n.width=8, n.height=10) { width <- 640 height <- 480 name.of.color <- colors() n <- length(name.of.color) max <- floor(n/(n.width*n.height)) old <- par(ask=TRUE) for (i in 0:max) { plot(c(0, width, width, 0, 0), c(0, 0, height, height, 0),type="n", xaxt="n", yaxt="n", xlab="",ylab="") for (col in 0:(n.height-1)) { for (row in 0:(n.width-1)) { name <- (n.width*n.height)*i+col*n.width+row+1 cat(name, ", ", name.of.color[name], "¥n") polygon.plot(row, col, name, name.of.color[name], height, width/n.width, height/n.height) } } } par(old) } ---- //林 啓一 R-help(29 Jun 2003)にhexと色の名前を変換する自作関数が紹介されていました。 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) ) Demo(graphic)のpieチャートにlabelをつけました。 colors.name <- function( x ) { color.name <- function( x ) colors()[ colors.hex() == x ] lapply( x, color.name ) } pie(rep(1, 24), col = rainbow(24),labels=colors.name(rainbow(24))) とすると以下のhex表示が一部色名に変わります。 #ref(colorpie.png) ---- #comment
タイムスタンプを変更しない
// 青木繁伸@群馬大学 written by S. AOKI, Jul 04, 2003 color.chart(5,5) 等とすることにより,以下のようなカラーチャートを作成する関数です 第一引数は列数,第二引数は行数。デフォールトはそれぞれ8と10。 半分決めうちしてますので,プロットウインドウの大きさも一緒に調整してください。 一度全部描画して,スクリーンショットを取っておくといいかもしれません。 #ref(colors.png) polygon.plot <- function(row, col, name, name.of.color, height, cell.width, cell.height) { row <- row*cell.width col <- col*cell.height ordinate.x <- c(row, row, row+cell.width, row+cell.width, row) ordinate.y <- height-c(col, col+cell.height, col+cell.height, col, col) polygon(ordinate.x, ordinate.y, col=name.of.color) text(row+cell.width*0.1, height-(col+cell.height*0.6), name, pos=4) text(row+cell.width*0.1, height-(col+cell.height*0.4), name.of.color, pos=4) text(row+cell.width*0.1, height-(col+cell.height*0.2), name.of.color,pos=4,col="white") } color.chart <- function(n.width=8, n.height=10) { width <- 640 height <- 480 name.of.color <- colors() n <- length(name.of.color) max <- floor(n/(n.width*n.height)) old <- par(ask=TRUE) for (i in 0:max) { plot(c(0, width, width, 0, 0), c(0, 0, height, height, 0),type="n", xaxt="n", yaxt="n", xlab="",ylab="") for (col in 0:(n.height-1)) { for (row in 0:(n.width-1)) { name <- (n.width*n.height)*i+col*n.width+row+1 cat(name, ", ", name.of.color[name], "¥n") polygon.plot(row, col, name, name.of.color[name], height, width/n.width, height/n.height) } } } par(old) } ---- //林 啓一 R-help(29 Jun 2003)にhexと色の名前を変換する自作関数が紹介されていました。 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) ) Demo(graphic)のpieチャートにlabelをつけました。 colors.name <- function( x ) { color.name <- function( x ) colors()[ colors.hex() == x ] lapply( x, color.name ) } pie(rep(1, 24), col = rainbow(24),labels=colors.name(rainbow(24))) とすると以下のhex表示が一部色名に変わります。 #ref(colorpie.png) ---- #comment
テキスト整形のルールを表示する
添付ファイル:
colors.png
4903件
[
詳細
]
colorpie.png
6330件
[
詳細
]