良い色強度スケールを作る方法は?


12

私は決して統計が得意ではありませんが、私は正しい場所に来ていると思います。私の質問は簡単です:

私の問題は、小さな国のいくつかの州の人口を比較することですが、一部の州の人口は3000,000人で、一部の州の人口は2,000人です。
私はそれを地図上に描いています。色の「強度」は、すべての州の人口が全国の人口とどのように比較されるかによって異なります。

問題は、人口の多い州は非常に濃い色で表示され、小さい州はほとんど色がないことです。

データを「正規化」または比較可能にする簡単な方法はありますか?

私が自分自身を適切に説明しているかどうかはわかりませんが、誰かが私を助けてくれることを願っています。私の質問が明確でない場合はコメントしてください。明確にします。

ご協力ありがとうございました!



1
同じ行に沿って、www.0to255.comでグラデーションをチェックすることもできます。
ピートウィルソン

Rの一部のマップパッケージには、この種の問題を防ぐ組み込みのカラーコードがありますが、それはあなたが求めていたものですか?
神父

私はこれをカスタムマップで使用しており、明らかなアプローチ(各値を総母集団で割る)で0と1の間の値が得られます(この値を使用して、色の「強度」を選択します)。問題は、あまりにも遠い値があることです。そのため、一部の状態は完全に色付きに見え、一部にはほとんど色がありません。統計的に言えばこれは正しいことですが、データ表現をより関連性が高く理解しやすいものにしたいと考えています。
Zebs

ユニフォームブレークを使用する理由 なぜ対数スケールではないのですか?あるいは、アプリケーションで、何らかの意味を持つブレークポイントを選択することもできます(たとえば、地方/郊外/都市)。
JMS

回答:


6

申し訳ありませんが、壊れていないものを修正しようとしているようです。実際、壊れていないものを壊そうとしているのかもしれません。広範囲にわたる量的変数(ここでは、母集団)がある場合、それを表すために使用するメトリックはすべて、広範囲にわたる必要があります。

しかし、色(および特にマップ)に関連するすべてのものについて、重要なソースはColorBrewerだと思います


2
私は何かを壊そうとしています。取得した値が統計的に正しいことはわかっていますが、ユーザーがデータをより簡単に理解できるようにしたいと考えています。UIの決定です。
Zebs、2011年

@Zebs:ベンド、もっと好き..
naught101

5

良い質問です。解決策の1つは、色をより均一に分布するように、または裾が低い分布に再スケールすることです...しかし、スケールの変形が不公平であるため、凡例を十分に明確にする必要があります...

たとえば、Rでは、法線をユニフォームに再スケーリングします。(あなたが持っているものはあなたが大きな尾を持っていて、あなたがそれらを小さくしたいので、おそらく他の方法で行きますが、原理は同じです)

X=array(rnorm(10000),c(100,100))
ramp=colorRamp(c("blue","cyan","white","yellow","red"),space ="rgb")
kleur <- rgb( ramp(seq(0,1,length=200)),max = 255)
par(mfrow=c(1,2))
image(X,col=kleur)### image without rescaling
Fn=ecdf(X)
ScaledX=array(Fn(X),c(100,100))
image(ScaledX,col=kleur)

3

総人口で除算できます。これにより、すべてが0と1の間にあることが保証されます。スケールがまだあまりにも異なる場合は、対数スケールを検討してください。


2

私はそれを尋ねるのは面倒ですが、あなたは本当にを使って定量的な量を描写することにコミットしていますか?高さで数量を表すバーを各状態に配置する方法はありませんか?

別の方法としては、地理的な領域を表す領域と、各州の面積が人口の大きさに比例するマップを表示することもできます。これは、感覚的ホムンクルスが行う方法と似ています。しかし、それは面倒な量の描画になります-私はそれを自動化する方法がわかりません(存在する場合もあります)


良い発言!
ロビンジラール2011年

4
多くのマッピングソフトウェアプラットフォームには、この投稿で説明されている機能があります。マップに関する属性に基づく歪みは、しばしばカートグラムと呼ばれます。gis.stackexchange.com/q/7406/751を参照してください。そうは言っても、マップに偶然に配置されたバーは、色よりも視覚化するのが簡単ではありません。バーが並んでいないと、相対的な比較が困難になります。これは、カラースケールではそれほど大きな問題ではありません。
アンディW

地図上でバーが最適ではないことに同意します。これを行う別の方法は、次のようにグリッド化された歪みを持つことです:viewsoftheworld.net/?p=832。個人的には、これらを解読するのはかなり難しいと思うことがよくありますが、歪みの程度によっては、かなりうまくいく場合もあります。
naught101

1

あなたが述べた目的:

小さな国のいくつかの州の人口を比較します。

あなたが述べた問題:

一部の州では人口が3000,000で、一部の州では2,000です。データを「正規化」または比較可能にする簡単な方法はありますか?

マッピングの前にデータを正規化することを目指します

あなたがマップを作成している理由のコンテキストがわからないので、この答えは不足しています。

それでも、ここでいくつか検討する必要があります。データを正規化して、マップが潜在的な読者に興味深い意味を提供するようにします。そうすることで、マップに表示されるものを、彼らが通常考えるいくつかの概念にリンクできます。基本的に、私はあなたの新しい正規化された数値は、マップリーダーが理解するのが興味深いと思ういくつかの定性的な概念にリンクする必要があると思います(ランダムな一口:メジャー=数量x品質、ヘーゲル)。

データを正規化する2つの提案された方法

1.各州のオープンスペースの大きさを把握するため。

全人口面積で割った人口を計算して、人口密度の新しい状態変数を作成します。

2.状態のカラーリングを互いに対比させるため。

各状態の平均からの偏差を計算して、新しい状態変数を作成します。たとえば、人口が次の3つの州であるとします。

  • 状態Aは100です。
  • 状態Bは50です。
  • 状態Cは1です。

平均は約50になります。

各状態の新しい変数の値は次のようになります。

  • 状態Aは+50(強い緑色)です。
  • 状態Bは0(灰色の色)です。
  • 状態Cは-49(濃い赤色)です。

正の数と負の数が対比される任意の配色を使用できます(マップの配色の多くの例については、google 'colorbrewer')。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.