Rにおける色の名前
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
// 青木繁伸@群馬大学
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
ページ名: