クライアントアプリケーションが3D棒グラフスタイルでデータを視覚化するいくつかのルーチンに取り組んでいます。データは主に小さな値で構成され、大きな値はわずかです。例えば:
6,942,535,341
23,598
19,203
58,201
したがって、問題は、値が大きいと視覚化が役に立たなくなることです。このデータを表示する方法について何か提案はありますか…OR…おそらく、データをマッサージしてより視覚的に魅力的なものにする方法についての提案ですか?
数学的な傾向がある人にとっては、答えはlog scaleを使用することです。
数学的でない人にとっては、チャートでブレークを表示してから、極値の方が良いかもしれません。
対数軸を使用できます。これにより、広範囲の変数をコンパクトに視覚化できます。
説明のために、これは非常に単純な対数視覚化です:
6 942 535 341
23 598
419 203
8 201
3
数値として表される各データムの長さは、(おおよそ)その数値のlog_10です。したがって、等幅フォントで数字を印刷するだけで、一種の自動棒グラフが表示されます。
John GBのソリューションは審美的には楽しいですが、科学分野は一般に、示されているようなスケールの改行を阻止します(多くの場合、誤解を招くグラフィックの陳腐な例です)。 クリーブランド(1984) は、フルスケールブレークを使用して別のパネルを作成し、値をさらに視覚的に区別することをお勧めします。
Jon Peltierには マルチパネルを使用した同様の例 がありますが、2番目に高い値のパネルに入るバーにグラデーション効果があります。
スケールブレークIMOはおそらく誰もがそうであるように悪くはありませんが、誰かが(すでに他の細かい回答に加えて)問題を与えている場合、これは簡単な代替策です!
もう1つの次元を入手してください。値を面積として表します。正方形またはディスク。 アナモフィックマップ のように。
その後、値を表すためにさらに必要な場合は、キューブまたはボールを作成します。 :-)
編集:
彼らはこのテクニックを 10億ドルグラム で使用しています。
対数スケールはおそらく最善の策ですが、それらはまだ違いの本当の広大さを捨ててしまいます。それは本当に情報が表示される方法によって伝えられる必要があるものに依存します。違いの広さが非常に重要である場合は、小さい数を非常に小さい線として単純にグラフ化することも適切です。
私は2つの可能なアプローチを考えます:
1-エリアを使用します。同様に、大きな長方形の領域に対する小さな正方形のドット。このアプローチの利点は、面積がメジャーの2乗に比例することです。
2-ズームを許可します。列をスケールで描画し、小さな値が表示されるまでズームインするか、大きな値がウィンドウに収まるまでズームアウトします。
ログスケールはこの問題に対する自然な答えですが、前述のように、一般的なユーザーに対して誤解を招く可能性があります。これに対する適切な解決策は、データポイントを段階的に表示し、アニメーションを使用して、ユーザーがチャートを理解できるようにガイドすることです。
私が言っていることを説明するために、あなたが見ることができる NY Timesからのこの視覚化 を見てください。
これらは私が強調するテクニックです:
ページをロードすると、アニメーションによってデータセットの一部が配置されます。より高い値(この場合はFacebookのIPOデータ)が今のところ省略されていることに注意してください。目盛りは現時点では線形であり、より自然な読みを提供します。
ユーザーが「次へ」をクリックすると、Facebookデータが表示されます。私たちはその顕著な違いを認識しています。スケールはまだ線形です。
球形のオブジェクトを使用するという考えが気に入っています。大きな領域は、小さな領域を表示したまま、明らかに数倍の領域を保持できます。
download bmml source – Balsamiq Mockups で作成されたワイヤーフレーム
さて、私はこの問題に苦しんでいました。ログスケールを使用することはお勧めしません。最初にすべてのユーザーがこのスケールを理解するわけではありません。2番目のスケールでは、値が近い場合、それらの違いはグラフで目立ちません。
2つの解決策をお勧めします。
視点を最小の差異を強調するのに十分近くに移動し、最も極端な値を完全に表示するのに十分に遠くに移動できるように、コントロールを提供することをお勧めします。 X軸は変化しないため、拡大と縮小はY軸上でのみ必要です。
不連続なスケールは対数スケールに似ています。線形として認識されないようにするにはたくさん認知的努力が必要です。そのレベルの努力を必要としない方がいいです。