Python

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

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

Seabornを使うと、データの特性や可視化の目標に適した色を簡単に使うことができる。この章では、選択の指針となる一般原則と、特定のアプリケーションに最適なソリューションを迅速に見つけるのに役立つseabornのツールの両方について説明する。

プロットで色を使用するための一般的な原則

色の成分

私たちの目の働き方により、特定の色は3つの要素によって定義される。私たちは通常、コンピュータで色をプログラムする際には、ディスプレイの赤、緑、青のチャンネルの強度を設定するRGB値を指定する。しかし、色の知覚属性を分析するためには、色相、彩度、輝度チャンネルで考えた方が良いだろう。

色相は、非専門的な意味で「異なる色」を区別する成分。「赤」や「青」などの一次名につながる色の性質を指す。

彩度は、色の濃さのこと。色相の異なる2つの色は、彩度が高い方がより鮮明に見える。

明度は、黒から白までの範囲で、どのくらいの光が放出されるか(または印刷された色の場合は反射される)に対応する。

色合いを変えてカテゴリを区別する

プロットで複数のカテゴリを表現したい場合、一般的には要素の色を変える必要がある。

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

右側のプロットでは、オレンジ色の三角形が「飛び出している」ので、円と区別しやすくなっている。このような飛び出し効果は、私たちの視覚システムが色の違いを優先しているためである。

青とオレンジの色の違いは、主に色相の違い。色相はカテゴリを表現するのに便利。ほとんどの人は比較的簡単に中程度の数の色相を見分けることができ、色相が異なっていても明るさや強度が似ている点は同じように重要だと考えられる。また、色相はプロットについて説明しやすくする。

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

ほとんどの人は、左側のプロットに5つの異なるカテゴリーがあることをすぐに確認することができ、「青い」点を特徴づけるように頼まれれば、それができる。

右側のプロットは、点はすべて青であるが、輝度と彩度が異なるため、どれだけのユニークなカテゴリーが存在するのかを説明するのは困難だ。そして、特定のカテゴリをどのように説明するだろうか、濃い青?薄い青?さらに、灰色の点は背景に消えていくように見え、より強い青色の点に比べて相対的に強調されていない。カテゴリが同じくらい重要なものであれば、これでは表現力が低下してしまう。

そのため、一般的なルールとして、色相のバリエーションを使ってカテゴリを表現するようにすべきである。いくつかの注意点がある。プロットの中に一握り以上の色がある場合、カテゴリーとそれを表現するために使用されている色の間に既存の関連性がない限り、それぞれの色が何を意味しているのかを覚えておくことは難しくなる。視聴者はデータに集中するのではなく、表示されている内容を理解するために凡例を継続的に参照しなければならない。よって、複雑すぎるプロットを作らないように努力すべきである。また、すべての人が同じように色を見るわけではないことに注意が必要。形状(または他の属性)と色の両方を変化させることで、様々な色覚を持つ人々があなたのプロットを理解するのを助けることができ、白黒に印刷された場合でも(ある程度)解釈しやすい状態を保つことができる。

輝度を変化させて数字を表現

一方、色相の変化は数値データの表現にはあまり適していない。この例では、二変量ヒストグラムのカウントを表すために色が必要な場合を考える。左側では、円形のカラーマップを使用している。各ビン内の観測数の緩やかな変化は、色相の緩やかな変化に対応している。右側では、より大きなカウントのビンを表現するために、より明るい色を使用するパレットを使用している。

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

色相ベースのパレットでは、二変量分布の形状を確認するのは非常に困難だ。対照的に、輝度パレットでは、2 つの顕著なピークがあることがより明確になる。

輝度を変化させることでデータの構造を確認でき、輝度の変化は重要度の変化としてより直感的に処理される。しかし、右のプロットはグレースケールのカラーマップを使用していない。カラフルだからこそ面白いし、微妙な色相の変化が2つの値の間の知覚距離を大きくしている。その結果、小さな差がわずかに解消されやすくなる。

これらの例は、カラーパレットの選択が美学以上のものであることを示してる。選択した色は、効果的に使用すればデータのパターンを明らかにし、不適切に使用すればそれを隠すことができる。最適なパレットは一つではないが、特定のデータセットや可視化アプローチに適したパレットもあれば、そうでないパレットもある。

そして、美学は重要。人々があなたの図を見たいと思えば思うほど、そこから何かを学ぶ可能性が高くなる。これは、自分のためにプロットを作成しているときにも当てはまる。探索的なデータ分析では、似たような図がたくさん出てくるかもしれない。カラーパレットを変えることで目新しさが増し、データの面白さに気づくことができる。

では、どのようにしてデータをよく表し、魅力的に見えるカラーパレットを選べばよいか?次の節で考える。