Rにおけるカラーパレット

r
Rでは様々なカラーパレットを使用することができます。この記事では、Rのカラーパレットの使い方と例を紹介します。
Author

Maple

Published

2025-08-06

Modified

2025-08-06

Rでのカラーパレットの使用方法について説明します。Rには多くのカラーパレットが用意されており、データの可視化に役立ちます。

カラーパレットの一覧を取得する

palette.pals() でビルトイン(元から使える)のカラーパレットの一覧を取得できます。 これにより、Rで使用可能なカラーパレットの名前を確認できます。

 [1] "R3"              "R4"              "ggplot2"         "Okabe-Ito"      
 [5] "Accent"          "Dark 2"          "Paired"          "Pastel 1"       
 [9] "Pastel 2"        "Set 1"           "Set 2"           "Set 3"          
[13] "Tableau 10"      "Classic Tableau" "Polychrome 36"   "Alphabet"       

R のバージョン4.0以降では、R4 がデフォルトのカラーパレットとして設定されています。

palette() で現在のカラーパレットの色を確認できます。

[1] "black"   "#DF536B" "#61D04F" "#2297E6" "#28E2E5" "#CD0BBC" "#F5C710"
[8] "gray62" 
Note

現在のカラーパレットの名前それ自体を取得する関数はありません。

カラーパレットの変更

palette() の引数にカラーパレットの名前を指定することで、現在のカラーパレットを変更できます。 デフォルトに戻したかったら、R バージョン4.0以降では "R4" で元に戻せます。 また、バージョンにかかわらず、palette("default") でデフォルトのカラーパレットに戻すことができます。

[1] "black"   "#DF536B" "#61D04F" "#2297E6" "#28E2E5" "#CD0BBC" "#F5C710"
[8] "gray62" 
palette("Okabe-Ito")
palette()
[1] "black"   "#E69F00" "#56B4E9" "#009E73" "#F0E442" "#0072B2" "#D55E00"
[8] "#CC79A7" "gray60" 
palette("default")
palette()
[1] "black"   "#DF536B" "#61D04F" "#2297E6" "#28E2E5" "#CD0BBC" "#F5C710"
[8] "gray62" 

よく、col = 1 のように、色を指定する際に数値を使用することがありますが、これは現在のカラーパレットの色を参照しています。


また、ビルトインのパレットがありますが、自分でカラーパレットを定義することもできます。

my_palette <- c("#FF5733", "#33FF57", "#3357FF")
palette(my_palette)
palette()
[1] "#FF5733" "#33FF57" "#3357FF"

カラーパレットの色の可視化

現在のカラーパレットの色を可視化するために、barplot() を使用して、各色を棒グラフとして表示することができます。

barplot(
  rep(1, length(palette())),
  col = palette(),
  names.arg = palette(),
  las = 2
)

関数でカラーパレットを作成する

関数でカラーパレットを作成することもできます。 以下のようなカラーパレット作成関数があります:
- hcl.colors(): HCL(Hue-Chroma-Luminance)カラーパレットを生成します。 - rainbow(): 色相環に基づくカラーパレットを生成します。 - heat.colors(): 暖色系のカラーパレットを生成します。 - terrain.colors(): 地形に基づくカラーパレットを生成します。 - topo.colors(): 地形に基づくカラーパレットを生成します。 - cm.colors(): 色相環に基づくカラーパレットを生成します。

hcl.colors()

hcl.colors() は以下の引数を取ります。

hcl.colors(n, palette = "viridis", alpha = NULL, rev = FALSE, fixup = TRUE)
  • n: 生成する色の数を指定します。
  • palette: 使用するカラーパレットの名前を指定します。デフォルトは "viridis" です。
  • alpha: 色の透明度を0から1までの数字で指定します。NULL の場合は不透明になります。
  • rev: TRUE の場合、カラーパレットを反転します。
  • fixup: TRUE の場合、生成された色が適切な形式に修正されます。基本的には TRUE にしておきます。
pal <- hcl.colors(10)
barplot(
  rep(1, length(pal)),
  col = pal,
  names.arg = pal,
  las = 2
)

palette 引数には指定できるパレット一覧は、hcl.pals() で確認できます。

  [1] "Pastel 1"      "Dark 2"        "Dark 3"        "Set 2"        
  [5] "Set 3"         "Warm"          "Cold"          "Harmonic"     
  [9] "Dynamic"       "Grays"         "Light Grays"   "Blues 2"      
 [13] "Blues 3"       "Purples 2"     "Purples 3"     "Reds 2"       
 [17] "Reds 3"        "Greens 2"      "Greens 3"      "Oslo"         
 [21] "Purple-Blue"   "Red-Purple"    "Red-Blue"      "Purple-Orange"
 [25] "Purple-Yellow" "Blue-Yellow"   "Green-Yellow"  "Red-Yellow"   
 [29] "Heat"          "Heat 2"        "Terrain"       "Terrain 2"    
 [33] "Viridis"       "Plasma"        "Inferno"       "Rocket"       
 [37] "Mako"          "Dark Mint"     "Mint"          "BluGrn"       
 [41] "Teal"          "TealGrn"       "Emrld"         "BluYl"        
 [45] "ag_GrnYl"      "Peach"         "PinkYl"        "Burg"         
 [49] "BurgYl"        "RedOr"         "OrYel"         "Purp"         
 [53] "PurpOr"        "Sunset"        "Magenta"       "SunsetDark"   
 [57] "ag_Sunset"     "BrwnYl"        "YlOrRd"        "YlOrBr"       
 [61] "OrRd"          "Oranges"       "YlGn"          "YlGnBu"       
 [65] "Reds"          "RdPu"          "PuRd"          "Purples"      
 [69] "PuBuGn"        "PuBu"          "Greens"        "BuGn"         
 [73] "GnBu"          "BuPu"          "Blues"         "Lajolla"      
 [77] "Turku"         "Hawaii"        "Batlow"        "Blue-Red"     
 [81] "Blue-Red 2"    "Blue-Red 3"    "Red-Green"     "Purple-Green" 
 [85] "Purple-Brown"  "Green-Brown"   "Blue-Yellow 2" "Blue-Yellow 3"
 [89] "Green-Orange"  "Cyan-Magenta"  "Tropic"        "Broc"         
 [93] "Cork"          "Vik"           "Berlin"        "Lisbon"       
 [97] "Tofino"        "ArmyRose"      "Earth"         "Fall"         
[101] "Geyser"        "TealRose"      "Temps"         "PuOr"         
[105] "RdBu"          "RdGy"          "PiYG"          "PRGn"         
[109] "BrBG"          "RdYlBu"        "RdYlGn"        "Spectral"     
[113] "Zissou 1"      "Cividis"       "Roma"         

補足:すべての定義済みの色

colors() を使用すると、Rで定義されているすべての色の名前を取得できます。 デフォルトの "viridis" は色覚多様性に配慮したカラーパレットなので、汎用性が高くおすすめです。

# 定義済みカラーの取得
col_names <- colors()

補足:RColorBrewer パッケージの使用

RColorBrewer パッケージは、Rでよく使われるカラーパレットを提供します。 これを使用することで、視覚的に美しいグラフを簡単に作成できます。

# インストールされていない場合
if (!require(RColorBrewer)) {
  install.packages("RColorBrewer")
}
Loading required package: RColorBrewer
library(RColorBrewer)

# 利用可能なパレット一覧を表示
display.brewer.all()