Rでコマンド:カラーパレット作成の参考になるかも「colorRampPaletteAlpha」のコード

Rの解析に役に立つ記事
スポンサーリンク

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

#&#25351;&#23450;&#12375;&#12383;&#33394;&#12391;&#12464;&#12521;&#12487;&#12540;&#12471;&#12519;&#12531;&#12497;&#12524;&#12483;&#12488;&#12434;&#20316;&#25104;:colorRampPaletteAlpha&#12467;&#12510;&#12531;&#12489;
#&#35036;&#23436;&#26041;&#27861;&#12434;&#25351;&#23450;:interpolate&#12458;&#12503;&#12471;&#12519;&#12531;;"spline","linear"&#12364;&#25351;&#23450;&#21487;&#33021;
show_col(colorRampPaletteAlpha(c("red", "yellow", "blue"), n = 20, interpolate = "spline"))
###&#12467;&#12540;&#12489;&#20869;&#23481;#####
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コマンド

addalpha

・colorRampPaletteAlphaコマンド:”spline”

spline

・colorRampPaletteAlphaコマンド:”linear”

linear

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

タイトルとURLをコピーしました