前回から colorspace パッケージに「侵入」してます。colorspaceパッケージはグラフに彩りを与えるためのお道具箱デス。素人老人の密な楽しみ、「サンプル・データ」の中にこの世の不思議、世界の秘密を発見する、には不向きなパッケージっす。含まれているのはお道具のためのデータベース、単なる数値の集まりね。
※「データのお砂場」投稿順Indexはこちら
※使用させていただいている Rのversionは 4.3.1。RStudioは 2024.04.2+764 “Chocolate Cosmos” です。
max_chroma_table
今回扱ってみるのは、colorspace パッケージ内の max_chroma_table というデータベースです。まず、colorspace パッケージの解説ページが以下に
A Toolbox for Manipulating and Assessing Colors and Palettes
そして max_chroma_table に関する説明が書かれているページが以下に。
Compute Maximum Chroma for Given Hue and Luminance in HCL
色彩素人老人は良く分かってないです。説明を読むに、max_chroma_table は、HCL空間の中で(H:hue、色相)と(L:luminance、輝度)を決めたときに最大の彩度(chroma)がいくらなのかを与えるデータベースらしいデス。データ量にして 36461要素、合計2.6MBの容量があります。なお、H、Lは整数で与えるので
-
- H: 0から360まで361通り
- L: 0から100まで101通り
だけあります。361×101=36461要素ってこと。その全ての組み合わせに対してmax chromaが表引きできるようになっておるみたいです。
なお、max chroma を表引きするための関数が用意されており、自前で max_chroma_tableを調べる必要はないみたいです。表引き関数が以下に。
max_chroma(h, l, floor = FALSE)
上記の関数に、h、l を与えればchromaの最大値が返ってきます。floor=FALSEとすると浮動小数点数で結果が返ります。floor=TRUEにすると整数に切り捨てられるみたい。
まずは生データから
今回は専用関数で参照できるデータベースなので、わざわざ個別にロードする必要もないです。しかし、いつものとおりロードしてみます。こんな感じ。
ただただ数字が並んでおります、無味乾燥。
上記の解説ページに max_chroma関数の Example があったのでそれをそのまま実行してみます。
これまた数字が列挙されるだけじゃん。ううむ。
色見本をプロットして~
やはり、色見本をプロットしないと納得いきませぬなあ。色見本をプロットするためには、swatchplot関数というのが良さげだったです。それをつかって以下のようなコードを走らせることにいたしました。
hvec = seq(0, 360, by=60) max_chroma(h = hvec, l = 50) swatchplot( "L=10" = sequential_hcl(7, h = hvec, c = max_chroma(h = hvec, l = 10), l = 10), "L=25" = sequential_hcl(7, h = hvec, c = max_chroma(h = hvec, l = 25), l = 25), "L=50" = sequential_hcl(7, h = hvec, c = max_chroma(h = hvec, l = 50), l = 50), "L=75" = sequential_hcl(7, h = hvec, c = max_chroma(h = hvec, l = 75), l = 75), "L=90" = sequential_hcl(7, h = hvec, c = max_chroma(h = hvec, l = 90), l = 90), off = 0 )
上記の結果が以下に。横軸はH=0から360まで60キザミです。縦はLね。
よくわからんけど色見本はプロットできたみたい。