Python

Python seaborn チュートリアル プロットの美学 カラーパレットの選択 (3)

原文のドキュメントはこちらから。

定性的なカラーパレット

定性的パレットは、そのバリエーションのほとんどが色相成分にあるため、カテゴリカルなデータを表現するのに適している。seabornのデフォルトのカラーパレットは、10の異なる色相を持つ定性パレット。

sns.color_palette()

これらの色は、デフォルトのmatplotlibカラーパレット「tab10」と同じ順番になっているが、少し強度が落ちている。

sns.color_palette("tab10")

実際、Seabornはmatplotlibのパレットの6つのバリエーションを持っており、deep、muted、pastel、bright、dark、colorblindと呼ばれる。これらは平均的な輝度と彩度の値の範囲にわたっている。

( seaborn 原文のドキュメントより引用 )

多くの人は、デフォルトの「深みのある」パレットの控えめな色相を審美的に気に入っているが、それだけではない。その結果、文脈によっては識別が難しくなることがあるが、これは出版物のグラフィックを作成するときに覚えておくべきことである。この比較は、さまざまな形の色盲をシミュレートしたときに、seabornのカラーパレットがどのように機能するかを推定するのに役立つ。

サーキュラーカラーシステムの使用

任意の数のカテゴリがある場合、ユニークな色相を見つける最も簡単な方法は、等間隔の色を円形の色空間(明るさと彩度を一定に保ちながら色相が変化する色空間)に描画することである。これは、現在のデフォルトのカラーサイクルで設定されている色よりも多くの色を使用する必要がある場合に、ほとんどのseabornの関数がデフォルトで使用している方法。

これを行う最も一般的な方法は、RGB値の単純な変換であるhls色空間を使用する。以前、ヒストグラムをプロットする方法の逆例として、このカラーパレットを確認した。

sns.color_palette("hls", 8)

人間の視覚システムの働き方のため、RGB値が同じ輝度と彩度を持つ色は、必ずしも同じ強さに見えるとは限らない。この問題を解決するために、seabornでは、カラーホイールを回転させても強さの変化が少ないHUSLシステムのインターフェースを提供している。

sns.color_palette("husl", 8)

seabornは、現在のデフォルトで利用可能な色数よりも多くの色を持つカテゴリパレットが必要な場合、このアプローチを使用する。

カテゴリカルカラーブリュワーパレットの使用

視覚的に楽しいカテゴリパレットのもう一つのソースは、カラーブリュワーツールから来る (後述しますが、これにも順次パレットと発散パレットがある)。

sns.color_palette("Set2")

質的な Color Brewer パレットには異なる長さのものがあり、 color_palette() のデフォルトの動作は完全なリストを与えることに注意が必要。

sns.color_palette("Paired")