カラーパレット作成の参考になるかも「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”

少しでも、あなたのウェブや実験の解析が楽になりますように!!