「ダッシュボード設計」シリーズのパート1では、ダッシュボードのレイアウト設計について確認し、作成の土台として使えるいくつかのテンプレートをご紹介しました。今回のパート2では、以下のトピックについて取り上げます。
視覚オブジェクトにはさまざまなタイプと設定が用意されています。視覚オブジェクトは、余計な情報に気を取られず重要な情報のみを的確に伝えられるように、できるだけシンプルでわかりやすくするのが原則です。不要な情報がたくさんあると、見る人の混乱を招き、重要ではない部分に注意が向いてしまう可能性があります。
横軸を基軸とするグラフは、通常、時系列データを示します。特定の期間のデータを表示して、傾向を把握したり、異常値を強調したり、必要に応じて複数の時系列データを比較したりするときに使用します。
基本的な時系列グラフを表示するときは、「timechart」コマンドを使用できます。たとえば、ある週で売上が最も多かった曜日を調べる場合は、次のように指定します。
index=_internal
| timechart span=1d count
折れ線グラフは、継続的な傾向を把握したいときに最適です。
特定の顧客について売上に顕著な変化があったかどうかを調べる場合は、次のように指定します。
index=_internal
| timechart span=1d count by user
折れ線グラフは、傾向を把握して比較したいときにも最適です。
積み上げグラフは、複数のデータシリーズの累積を示します。重要度の高いデータシリーズがある場合は、軸の真上に配置することで、その経時的な推移を確認しやすくなります。上記の例の2つのグラフを1つのグラフにまとめて、日ごとの売上の合計と顧客別の売上の両方を一目で確認できるようにすれば、傾向をさらに詳しく調査できます。
縦棒グラフは、個別のデータポイント、特にその合計を把握したいときに最適です。
売上の合計に関係なく、日ごとの売上を顧客別に比較して、売上が最も多かった顧客をわかりやすく示したい場合も、積み上げグラフを使用できます。この場合は、すべてのデータの累積が100%になるようにします。
100%積み上げ棒グラフは、継続的な数量の変化を把握したいときに最適です。
横棒グラフは、通常、複数のカテゴリの特定期間または特定時点のデータを比較するときに使用します。1つの軸でベースラインを揃えることにより、カテゴリ同士をわかりやすく比較できます。
基本的なカテゴリグラフを表示するときは、「stats」コマンドを使用できます。たとえば、昨年の売上が最も多かった製品を調べる場合は、次のように指定します。
index=_internal
| stats count by product
2つ目のディメンションを追加するときは、「chart」コマンドを使用します。たとえば、各製品の顧客別の売上を比較したい場合は、次のように指定します。
index=_internal
| chart count by user product
1つのデータシリーズについて、その中の各要素が全体に占める割合を示したいときは、円グラフを使用します。
たとえば、昨年の売上の中で各顧客の売上が占める割合を調べる場合は、次のように指定します。
index=_internal
| stats count by user
1つの要素が1つまたは複数のしきい値に対してどのくらい達しているかを調べるときは、単一値の放射状グラフまたはゲージグラフを使用します。
たとえば、現在の売上を年間の売上目標と比較するときは、次のように指定します。
index=_internal
| stats count
コストを回収するために必要な売上の達成率を示して利益を強調したい場合は、次のようにゲージグラフを使うこともできます。
可能であれば、シンプルな単一値を使ってメトリクスを表示し、データを直接的に伝えることができます。
相関グラフは、2つ以上の変数の関係を調べるときに使用します。
2つの定量的変数の関係を示すために最も効果的なのが、散布図です。変数が3つある場合は、バブルチャートまたは平行座標が適しています。たとえば、店舗数、売上、コストの相関関係を調べることができます。次のバブルチャートを見ると、「Product 1」では気温(Temperature)と売上(Sales)に直線的な相関関係があり、「Product 2」にはそのような関係がないことがわかります。
リンク付きのグラフは、エンティティ間の関係を示すときに使用します。サンキー図は、国家間の資金の流れや、アプリケーション間でやり取りされるデータの量など、特定のエンティティ間での量の動きを示すために最適です。
また、リンクグラフでは、各種フィールドの個々の値のつながりを示すことができます。集約ノード値を使えば、他の方法では見過ごしてしまうような、データポイント間の強いつながりをすばやく可視化できます。
マップやSVG形式のコロプレス図は、特定の場所や地域の要素間の関係を強調したいときに使用します。
マップでは、地理空間データを示すことができます。複数の場所での集計の分布を可視化するときはバブルレイヤーを使用し、特定の場所を示すときはマーカーレイヤーを使用します。また、集計を集約できる場合は、コロプレスレイヤーを使って、特定の地域の要素間の関係を可視化することもできます。さらに、ツールチップフィールドを使って、特定のマーカーや地域に関するラベルやその他の定性的データを追加することもできます。
建物の見取図など、独自の形状がある場合は、カスタムのSVG (Scalable Vector Graphic)画像を使って、対応するコンテキストデータを表示できます。
このセクションでは、視覚オブジェクトの配色、つまりデータ値を色にマッピングするためのベストプラクティスをご紹介します。データ値をマッピングするためのデザインの選択は、データの属性がカテゴリタイプか順序タイプかで異なります。順序タイプの場合、さらに、データが連続的か分散しているかで異なります。色は、輝度(Luminance)、色相(Hue)、彩度(Saturation)の3つのチャネルで表現できます[1]。輝度と彩度は度合いを示すチャネルで、順序タイプのデータを表すのに適しています。一方、色相は相違を示すチャネルで、カテゴリデータやグループを表すのに最適です。
カテゴリデータのカラーマップでは、各カテゴリを表すために異なる色相を使います。色による視覚表現は、形やサイズなど、他の視覚表現よりも効果的です。次の例では、「California」、「Washington」、「Oregon」の3つのカテゴリを、それぞれ青、緑、オレンジで表しています。
一般的に、小さく分けられた領域を区別する場合に識別できる色の数は6~12の範囲とされています。複数の色を選ぶときは反対色から選ぶことをお勧めします。また、できるだけ輝度が近い色を選びます。色を多く使いすぎるのは避けてください。特に、色を付ける領域が小さく、連続していない場合はお勧めしません。次の例では[2]、染色体を表すために21色を使っています。右のグラフのように、色を付ける領域が大きく、同系色が隣り合っている場合は、すべての色を区別できますが、左のグラフのように、領域が小さい場合は、12色程度までしか区別できません。
順序データのカラーマップは、最小値から最大値までの範囲を表します。次の例のマーカーゲージ視覚オブジェクトでは、「Custom Churning Rate」の値の範囲が高くなるほど紫色が濃くなります。
分散データのカラーマップは、両端の点を2つの色相で表し、中間点をその中間色で表します。たとえば、次のコロプレスマップでは、収益が増えている地域を青の色相、減っている地域を赤の色相で示しています。
色を選ぶときは、色覚異常に関する一般的な問題に配慮する必要があります。次の例の配色では、2型色覚異常(赤緑色覚異常)のユーザーが情報を正しく読み取れない可能性があり、適切とは言えません。色覚が正常な場合は赤と緑の色の違いを区別できますが、2型色覚異常のユーザーには区別が困難です。
赤緑色覚異常といっても、区別できないのは赤と緑だけではありません。赤と黒、青と紫、茶色と緑が区別しにくいなど、さまざまな色覚異常があります。このような配色の問題は、上記の例で使用しているColorblindlyなどのツールでチェックできます。色相帯のみで情報を表したり、色覚異常のユーザーにわかりにくい配色にしたりしないように注意しましょう。そのような色の使い方がすでに定着している場合は、次の例に示すように、形や大きさなど、他の視覚表現を使ってデータを表す方法もあります。
参考資料:
[1] Tamara Munzner著「Visualization Analysis and Design」および「AK Peters Visualization Series」、CRC Press、2014年
[2] Sinha AU/Meller J.著「Cinteny: flexible analysis and visualization of synteny and genome rearrangements in multiple organisms」、BMC Bioinformatics、2007年
このブログ記事はTara YuenおよびChuan Wangとの共同執筆です。
Splunkプラットフォームは、データを行動へとつなげる際に立ちはだかる障壁を取り除いて、オブザーバビリティチーム、IT運用チーム、セキュリティチームの能力を引き出し、組織のセキュリティ、レジリエンス(回復力)、イノベーションを強化します。
Splunkは、2003年に設立され、世界の21の地域で事業を展開し、7,500人以上の従業員が働くグローバル企業です。取得した特許数は1,020を超え、あらゆる環境間でデータを共有できるオープンで拡張性の高いプラットフォームを提供しています。Splunkプラットフォームを使用すれば、組織内のすべてのサービス間通信やビジネスプロセスをエンドツーエンドで可視化し、コンテキストに基づいて状況を把握できます。Splunkなら、強力なデータ基盤の構築が可能です。