カラーパレット作成の参考になるかも「colorRampPaletteAlpha」のコードを紹介します。取得コードは#の後ろ2つが透明度を示しています。
・GitHub「colorRampPaletteAlpha」のページ
https://github.com/mylesmharrison/colorRampPaletteAlpha
実行コマンドはR version 4.2.2で確認しています。
実行コマンド
詳細はコメント、各パッケージのヘルプを確認してください。
#Githubからソースを読み込み install.packages("devtools") devtools::source_url("https://raw.githubusercontent.com/mylesmharrison/colorRampPaletteAlpha/master/colorRampPaletteAlpha.R") #scalesパッケージの読み込み #show_colコマンドでプロットします library("scales") #指定した透明度と色のカラーコードを取得:addalphaコマンド #透明度の指定:alphaオプション show_col(addalpha("red", alpha = 0.1)) ###コード内容##### function(colors, alpha=1.0) { r <- col2rgb(colors, alpha=T) # Apply alpha r[4,] <- alpha*255 r <- r/255.0 return(rgb(r[1,], r[2,], r[3,], r[4,])) } #指定した色でグラデーションパレットを作成:colorRampPaletteAlphaコマンド #補完方法を指定:interpolateオプション;"spline","linear"が指定可能 show_col(colorRampPaletteAlpha(c("red", "yellow", "blue"), n = 20, interpolate = "spline")) ###コード内容##### function(colors, n=32, interpolate='linear') { # Create the color ramp normally cr <- colorRampPalette(colors, interpolate=interpolate)(n) # Find the alpha channel a <- col2rgb(colors, alpha=T)[4,] # Interpolate if (interpolate=='linear') { l <- approx(a, n=n) } else { l <- spline(a, n=n) } l$y[l$y < 255] <- 255 # Clamp if spline is < 255 cr <- addalpha(cr, l$y/255.0) return(cr) }
出力結果
・addalphaコマンド
・colorRampPaletteAlphaコマンド:”spline”
・colorRampPaletteAlphaコマンド:”linear”
少しでも、あなたのウェブや実験の解析が楽になりますように!!