視覚化で色とデータ値の適切な関連付けを見つける方法は?


8

洪水シミュレーション用のビジュアライザーを作成するソフトウェアプロジェクトに取り組んでいます。このプロジェクトの一環として、特定のポイントで水深を示す水勾配を作成しました。どの値がどの色を表すかを設定するために、データを調べて、発生する最小値と最大値を取得し、そのスケールに従って色を均等に配分します。

ただし、これらのシミュレーションには、シミュレーションの他のどの場所よりも水深が大幅に深い場合があります。これにより、マップ上のほとんどのポイントの色が非常に似たものになります。これはあまり有益ではなく、水がより深い領域を非常に見えにくくします。

私の目標は、より多くの色をより頻繁に発生する深度に捧げることです。たとえば、深度が0〜12であるが、ほとんどの深度が1〜2の場合、11〜12または4〜5の場合よりも、その範囲内でより多くの色の変化が発生するようにします。標準偏差またはこれを行うには正規分布が必要ですが、これらがどのように機能し、どのように使用して目標を達成できるかについては、少し曖昧です。

提供することができるどんな助けでもありがたいです。ありがとうございました。


ポジティブではないが正しく理解しているが、おそらく代わりに現在のスケールの対数を使用すると、見栄えが良くなるだろう。見せたい写真はありますか?
ジェラド

回答:


9

パレットの各色をほぼ同じ量のデータ専用にしたいと思うかもしれません。

110

ヒストグラム

10

カーネル密度、スライス

スライスを簡単に行う方法の1つは、データの合計量(「累積比率」)を深度に対してプロットすることです。縦軸を等間隔にスライスし、スライスがプロットと交差する深度を読み取ります。深度を視覚化するためのカットポイントとして使用します。

CDF

データからカットポイントを計算するアルゴリズムは明白で、ほとんどすべてのプログラミング言語で簡単に記述できます。値を並べ替え、リストをほぼ同じサイズのグループに分割し、カットポイントを選択して各グループの最大値をそれに続くグループの最小値。


2
鮮やかさ。これはまさに私が欲しかったものであり、私が予想していたよりもずっと簡単です。私の問題を明確にし、エレガントな解決策を提供してくれてありがとう。
SethGunnells 2013年

10

@whuberの回答はあなたが尋ねたものだけを提供しますが、私はあなたが尋ねたものは2つの理由でデータを視覚的に表すための最良の方法ではないかもしれないことを警告したいと思います。

  1. ビューアは、色がランクではなく値(深度)によって均等に分散されていると自然に想定します。視聴者の認知的脳が、視覚システムが彼らに伝えていることを覆すために、あなたのラベル付けに一生懸命取り組む必要があります。
  2. ランクは、実際の深度よりも視聴者にとって重要ではない場合があります。たとえば、0と1の間の値がたくさんある場合、それらの値がどのように分布しているかは分析的に重要ですか?

もちろんあなたはあなたのアプリケーションを最もよく知っているので、私は正しい答えは何であるかは言えませんが、以下は

r = Sqrt((:x * :x + :y * :y) / 400);
t = ArcTan(:y, :x);
z = (12 * Exp(-r * r * 3)) * Abs(Sin(2 * Pi() * r) - r * Cos(3 * t))

データは次の分布で0から12.5まで続きます。

ヒストグラム

3次元表面プロットは、いくつかのピーク、浅い谷、小さなマウンドを示しています。

表面プロット

次に、いくつかの2次元等高線図を見てみましょう。

あなたが気づいたように、より小さな機能が欠けている直線的なカラーマッピング:

線形カラーマッピング

深い領域の変化が重要でない場合は、カラーマッピングをクリッピングすると、その領域の線形マッピングを維持しながら、小さい深度でより多くの色を使用できます。

クリップされた線形カラーマッピング

比較のために、これはランク色のビューです(私の凡例は深度値ではなくランク値にあります)。

ランクカラーマッピング

それがアプリケーションにとって適切な表現であるかどうかはわかりません。浅い谷のディテールは誇張されています。ログカラーマッピングは類似しており有するの利点を有するいくつかの本当の解釈をし、データセット全体で一貫することができるが、ログは(凡例再び謝罪)依然として知覚ありません。

ログカラーマッピング

最後に、解像度を上げるために上記のいずれかと組み合わせることができる、少し異なる方向へのアプローチがあります。それは、マルチ色のカラーマッピングです。この場合、カラーリングは線形でクリップされます。

デュアルクリップリニア

最後に、私のソフトウェアで簡単に許可されていないアプローチは、複数の色の区分的線形カラーマッピングを使用することです。たとえば、低高度は50フィート単位の緑、中高度は200フィート単位の黄褐色、高高度は800フィート単位の灰色です。

結論:視聴者の脳が視覚システムに対抗するのではなく、動作することが望ましいです。


1
返信いただきありがとうございます。私はwhuberの答えを実装しましたが、あなたが言ったように、そして幾分期待したように、それは実際の深さに関して非常に欺瞞的であまり直感的ではないグラフィックを生成することがわかりました。私が解決した解決策は、「浅い」色と「深い」色のコントラストをよりシャープにすることです。これにより、ユーザーが潜在的な問題領域をより見やすくしながら、均一で直感的なグラデーションを維持できます。
SethGunnells 2013年

2
人間の視覚システムはその領域の色相の変化にはるかに敏感であるため、ブルースは多くの場合に特に良い選択です。
枢機卿

2
@cardinal:オブザーバーが若い限り。年齢とともに短波長感度が失われます(例:ncbi.nlm.nih.gov/pubmed/3230483)。
russellpierce 2013年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.