カラーパレットの作成だけでなく、文字列の表示形式や連続・離散スケールの管理が簡単な「scalesパッケージ」を紹介します。連続・離散スケールの管理コマンドを使うと、plotコマンドだけではなくggplot2パッケージでも軸やスケールの調整が楽になると思います。
Rの操作に慣れていない方へオススメしたいパッケージです。
パッケージのバージョンは1.1.1。実行コマンドはwindows 11のR version 4.1.2で確認しています。
パッケージのインストール
下記コマンドを実行してください。
#パッケージのインストール install.packages("scales")
パッケージの読み込み
下記を実行してパッケージを読み込んでください。
#パッケージの読み込み library("scales")
カラーパレット作成のコマンド紹介
詳細はコマンド内のコメントを確認してください。
#カラーパレットの作成:show_colコマンド #show_col(色, labels = カラーコードの表示:TRUE/FALSE, borders = 枠線の色を指定:枠無しはNA) show_col("#4b61ba", labels = TRUE, borders = "#a87963") #seq_gradient_palコマンドとの組み合わせ #参考記事:Rでお遊び:プレゼン資料の配色に使えるかも?キャラクターの髪の色? #https://www.karada-good.net/analyticsr/r-83/ #ダンまち,花咲くいろはパレット x <- seq(0, 1, length = 600) show_col(seq_gradient_pal(c("#e1e6ea", "#505457", "#4b61ba", "#a87963", "#d9bb9c", "#756c6d", "#807765", "#ad8a80"))(x), labels = FALSE, borders = "#a87963") #透明度を与えた単色カラーパレットを作成:alphaコマンド #alpha(色, alpha = 0-1の単独数値または配列により指定) show_col(alpha("#4b61ba", seq(0, 1, length = 12)))
出力例
・show_colコマンド
・seq_gradient_palコマンドとの組み合わせ(ダンまち&花咲くいろはパレット)
・alphaコマンド
文字列の表示形式と連続・離散スケールのコマンド紹介
詳細はコマンド内のコメントを確認してください。
###データ例の作成##### TestData <- data.frame(Group = paste0("TEST", 1:10), Data1 = sample(1:500, 10), Data2 = sample(200:300, 10)) ##### #comma_formatコマンド #3桁毎にカンマを付与 comma(c(1, 1000, 2000, 1000000)) [1] "1" "1,000" "2,000" "1,000,000" #指定した範囲のbreaksとlabelsを作成:cbreaksコマンド #pretty_breaksオプション:分割数を指定 #labelsオプション:初期値scientific_format() #labelsオプションに設定できるコマンド #カンマ表示;comma_format(digits = 3), 日にち表示;date_format(format = "%Y-%m-%d", tz = "UTC"), #ドル表示;dollar_format(), 表現式;percent_format(), unit表示;unit_format() cbreaks(c(0, 100), pretty_breaks(10), labels = percent_format()) $breaks [1] 0 10 20 30 40 50 60 70 80 90 100 $labels [1] "0%" "1,000%" "2,000%" "3,000%" "4,000%" "5,000%" "6,000%" "7,000%" "8,000%" "9,000%" "10,000%" #マニュアルでもbreaksを設定できます cbreaks(c(0, 100), breaks = c(15, 30), labels = percent_format()) $breaks [1] 15 30 $labels [1] "1,500%" "3,000%" #連続スケール:cscaleコマンド #使えそうな2つのパレットを紹介、他のパレットはHELPを参照 #macでの文字化け防止 par(family = "HiraKakuProN-W3") #area_palパレット plot(TestData[, 2], TestData[, 2], xlab = "", ylab = "", main = "area_palパレット", cex = cscale(TestData[, 2], area_pal(range = c(1, 10))), col = "#4b61ba", pch = 16) #seq_gradient_palパレット plot(TestData[, 2], TestData[, 2], pch = 17, cex = 6, xlab = "", ylab = "", main = "seq_gradient_palパレット", col = cscale(TestData[, 2], seq_gradient_pal("#4b61ba", "#a87963"))) #離散スケール:dscaleコマンド #使えそうな4つのパレットを紹介、他のパレットはHELPを参照 #macでの文字化け防止 par(family = "HiraKakuProN-W3") #brewer_palパレット plot(TestData[, 2], TestData[, 2], pch = 17, cex = 6, xlab = "", ylab = "", main = "brewer_palパレット", col = dscale(TestData[, 1], brewer_pal("div"))) #grey_palパレット plot(TestData[, 2], TestData[, 2], pch = 17, cex = 6, xlab = "", ylab = "", main = "grey_palパレット", col = dscale(TestData[, 1], grey_pal(start = 0, end = 0.8))) #hue_palパレット #directionオプション:カラーホイールの指定, 1 = clockwise, -1 = counter-clockwise plot(TestData[, 2], TestData[, 2], pch = 17, cex = 6, xlab = "", ylab = "", main = "hue_palパレット", col = dscale(TestData[, 1], hue_pal(h = c(0, 160) + 15, c = 30, l = 75, h.start = 0, direction = 1))) #shape_palパレット #最大6グループまで自動でシンボルを設定します。6以上はエラーになります plot(TestData[, 2], TestData[, 2], pch = dscale(TestData[, 1], shape_pal(solid = TRUE)), cex = 6, xlab = "", ylab = "", main = "shape_palパレット", col = dscale(TestData[, 1], hue_pal(h = c(0, 160) + 15, c = 30, l = 75, h.start = 0, direction = 1)))
出力例
<連続スケール:cscaleコマンド>
・area_palパレット
・seq_gradient_palパレット
<離散スケール:dscaleコマンド>
・brewer_palパレット
・grey_palパレット
・hue_palパレット
・shape_palパレット
少しでも、あなたの解析が楽になりますように!!