統計学、機械学習などを使って身近な世界を分析したりするブログです

データを分かりやすく見せるためのグラフリテラシー

AIやデータサイエンスが注目されるに伴い、世の中は加速度的にデータドリブン化しています。特にビジネスにおいては、個人の勘や経験だけではなく、データやファクトにもとづいて意思決定がなされるべきという考えはもはや一般常識であると言っても過言ではありません。

そんな中、当然のようにデータ分析の結果を「分かりやすく見せること」の重要性が増しています。どんなに素晴らしい分析結果であっても、伝えたいことが伝わらなければ、意思決定につながりません。

データといっても、その表現方法はさまざまですが、最も使われる頻度が高いものとして、グラフがあります。

ただグラフを作るだけであれば、Excelを使えば誰でもできますが、誰しもが学校できちんと教わったわけでもなく、なんとなくグラフを作っているのが現状でしょう。

正しく分かりやすいグラフを作るためには、以下のような問いに即答できるグラフリテラシーが必要です。

  • グラフの種類(棒グラフ、折れ線グラフ、円グラフ、など)をどう使い分けるべきか?
  • どんなグラフのときに、原点を0にしなければならないか?
  • グラフが見にくいとき、どう変えると見やすくなるか?

簡単そうな問いですが、明確な理由とともに答えることは容易ではありません。この記事では、これらの問いに対して解を出していきます。

まずは、グラフの種類の使い分けについて考えましょう。

ほとんどのグラフは、棒グラフか折れ線グラフ

グラフの種類はたくさんありますが、どう使い分ければいいのでしょうか?実は、ほとんどの場合、棒グラフと折れ線グラフの2種類で事足ります。

「グラフ」と「chart」でGoogle画像検索して上位から数えた結果、その内訳は以下のようになっていました。

f:id:shokosaka:20180929225547p:plain

棒グラフ、折れ線グラフ、棒グラフと折れ線グラフの組合せ、がほとんどです。円グラフも多いですが、これは後述するように棒グラフで代替すべきなので、かなりのデータが棒グラフと折れ線グラフだけで表現できるといえます。

まずは、棒グラフの特徴と正しい使い方についてです。

棒グラフを制する者はデータを制す

棒グラフはグラフの王様です。棒グラフを作ったことがない人は少ないと思いますが、奥が深いグラフでもあります。まずは棒グラフの素晴らしさを実感しましょう。

ここに、表があります。

A B C D E F
売上(百万円) 8392 3831 28592 3894 5920 291

それぞれの会社の売上規模の比較は、表の状態では直感的に分かりづらいですね。これを棒グラフにしましょう。

f:id:shokosaka:20180929225751p:plain

グラフにすることで、右脳に訴えかけるインパクトが生まれました。

数字を羅列した表からは伝わってこない、Cの圧倒的パワー、そしてFのカスっぷり。これが棒グラフの威力です。

棒グラフは数値の比較を「長さの比較」に変換している

棒グラフは、数値を長さに変換することで、直感的に数値の大小を比較しやすくすることができます。

何を当たり前のことを言っているんだと感じたかもしれませんが、大事なことなのです。

数値は長さ以外にも変換することができます。たとえば、数値を角度に変換すれば円グラフになります。しかし、人間の脳みそは、角度の大小よりも、長さの長短を比較するのが得意なので、数値を比較したいときは棒グラフを使いましょう。

角度の比較が難しいのは、以下の図を見ていただければ理解していただけるでしょう。

f:id:shokosaka:20180929225832p:plain

よ~く見れば2のほうが角度が大きいことが分かりますが、分かりにくいですよね。これに比べて、長さで比較すると、その分かりやすさは圧倒的です。

f:id:shokosaka:20180929225858p:plain

微小な差ですが、誰が見てもすぐに2のほうが長いことが分かります。

ただし、数値の比較を「長さの比較」に変換していることから、棒グラフには重要な制約があります。

棒グラフの原点は0でなければならない

棒グラフの原点は0でなければいけません。世の中には、以下のような凶悪なグラフがはびこっています。

f:id:shokosaka:20180929225952p:plain

FとEの差はすごく大きく見えますね。これは原点を3800にしているためです。以下の表を見てください。

元の数値 元の数値の比率(A=100%) 原点3800のときの長さ 原点3800のときの長さの比率(A=100%)
A 3969 100% 169 100%
B 4038 102% 238 141%
C 3961 100% 161 95%
D 3894 98% 94 56%
E 3871 98% 71 42%
F 4051 102% 251 149%

元の数値の比率が100%, 102%, 100%, 98%, 98%, 102%に対して、原点を3800にした棒グラフでは、100%, 141%, 95%, 56%, 42%, 149%を表しています。

これでは、元の数値とまったく違う数値に変えて長さに変換してしまっていることになります。

棒グラフにするときは、元の数値をそのまま長さに変換しなければならず、その比率が変わってしまっていはいけません。

f:id:shokosaka:20180929230008p:plain

これがあるべき姿です。Excelでは、自動的に原点が0でないグラフを作成してしまうことがあるので気をつけましょう。

棒グラフの原点は0でなければならない。それでは、以下のグラフはどうでしょうか。

f:id:shokosaka:20180929230032p:plain

ただ原点が0であればいいわけではありません。途中を波線で省略している場合も元の数値とは違う数値を長さに変換しているという点で同罪です。

まだまだ棒グラフの話が続きます。

積上げ棒グラフは分かりにくい

一枚のグラフでいろんなことが言いたいとき、こんな積上げ棒グラフが作られがちです。

f:id:shokosaka:20180929230047p:plain

製品A、B、C、D、E、合計の推移を表そうとしていますが、このグラフで明確に読み取れるのは製品Aの推移と合計の推移くらいです。

製品B、C、D、Eの推移が分かりにくいのは、棒の一端が揃っていないためです。

f:id:shokosaka:20180929230106p:plain

一端がそろっていなければ、1、2、3のどれが一番長いのかを読み解くのは困難です。

人間の脳は長さを比較するのは得意ですが、一端がそろっている場合に限ります。

したがって積上げ棒グラフはわかりにくく、クラスター棒グラフのほうがいいでしょう。ただし、クラスター棒グラフがすべてを解決してくれるわけではありません。

f:id:shokosaka:20180929230124p:plain

すべての棒の一端が揃ったため、それぞれの長さの比較は積上げ棒グラフよりもしやすくなりました。しかし、これだけたくさんの棒が並ぶと、いったいどこから見ればいいのか分かりません。

ごちゃっとしているな、と思ったら、メッセージを絞りましょう。

製品A~Eすべての推移を見てもらいたいわけではないはずです。たとえば、製品Bが右肩上がりであることを伝えたいとすれば、次のようなグラフになります。

f:id:shokosaka:20180929230147p:plain

ずいぶんシンプルで、分かりやすくなりました。

積上げ棒グラフはなるべく使わず、メッセージを絞って、そのメッセージに関係のない箇所を極力目立たないようにしましょう。

次は折れ線グラフです。

「折れ線グラフを正しく使える」というのが、いつか大きな財産となる

折れ線グラフも棒グラフに匹敵する、使用頻度の高いグラフなので、正しい使い方を身につけましょう。

早速ですが、まずはダメな例を見てみます。

f:id:shokosaka:20180929230207p:plain

これは何がダメなのでしょうか?

原点も0だし、ごちゃごちゃしているわけでもない。

実は、これは折れ線グラフにするべきデータではありません。

折れ線グラフの一番の特徴は「傾き」を持つことです。傾きとは、単位あたりの変化量のことです。このグラフの場合、傾きは何を表しているでしょうか?

企業Aと企業Bのプロットをつなぐ傾きを計算しようとすると、以下の数式になります。

傾き = y軸方向の差分 / x軸方向の差分
   =(2789 - 3271)/ (企業B – 企業A)

このとき、(企業B – 企業A)とは何でしょうか?意味不明です。つまり、企業Aと企業Bのプロットをつなぐ傾きは、意味を成さない傾きなのです。

そんな意味を成さない要素がグラフ中に存在しては、単なる邪魔でしかありません。

この場合の目的は、数値の大小を比較することであるため、単純に棒グラフを使えばいいでしょう。

f:id:shokosaka:20180929230232p:plain

これで、余計な傾きに邪魔されることなく、単純に数値を比較することができます。

横軸(x軸)がカテゴリの場合は、折れ線グラフは使えないので、棒グラフを使いましょう。

それでは、どのようなときに折れ線グラフを使えばいいのでしょうか?

時系列データのときに折れ線グラフを使う

f:id:shokosaka:20180929230252p:plain

時系列データのときには、折れ線グラフの持つ「傾き」が意味を持ちます。

1月と2月のプロットをつなぐ傾きの数式は以下のようになります。

傾き = y軸方向の差分 / x軸方向の差分
=(346 - 297)/ (2月 – 1月)
= 49 / 月

このとき、傾きは1ヶ月あたりの増加量が49であることを表しており、きちんと意味を持っています。時系列データの場合は、折れ線グラフにすることで、単位あたりの変化量を傾きで表現することができます。

厳密には、時系列データでなくとも、傾きが意味を持っていればいいのですが、実際はそのようなデータの99%が時系列データです。

折れ線グラフの原点は0でなくてもいい

折れ線グラフは棒グラフとは異なり、原点からの距離(棒グラフでいうところの長さ)ではなく、プロット間の傾きで変化量を表現しています。

したがって、折れ線グラフの原点は必ずしも0である必要はありません。

f:id:shokosaka:20180929230315p:plain

これは先ほどのグラフの原点を200に変えたものですが、折れ線グラフの場合、変化量を見やすくするためにこのように原点を調整することができます。

クラスター棒グラフは折れ線グラフにしたほうがいいこともある

先ほど作ったそこそこよさげな棒グラフをもう一度見てみましょう。

f:id:shokosaka:20180929230418p:plain

製品Bだけが強調され、シンプルで分かりやすいグラフにはなっていますが、製品A、C、D、Eが同じ色のため、どの棒グラフがどの製品なのか対応関係が不明瞭です。

左から順番にA、B、C、D、Eと並んでいるんだろうな、とは思いつつも、やや気持ち悪さが残ります。

製品Bだけを強調したままその気持ち悪さを取り除こうとすると、次のようなグラフになるかと思います。

f:id:shokosaka:20180929230437p:plain

製品A、C、D、Eの色を微妙に変えることで対応関係は分かるようになりましたが、せっかくシンプルにしたグラフなのに、やや情報量が多すぎる印象を与えるようになってしまいました。

こういうときには、折れ線グラフが使えます。

横軸をよく見ると、時系列データになっているので、これを折れ線グラフにしてみましょう。

f:id:shokosaka:20180929230454p:plain

Excelのデフォルトでは5色に分かれてしまって余計分かりにくくなりますが、複数の折れ線グラフの場合、このように一本だけをハイライトすることで分かりやすいグラフになります。

製品A、C、D、Eを同じ色にしていますが、それぞれの折れ線に凡例がついているので、クラスター棒グラフのときのような気持ち悪さもありません。

クラスター棒グラフでうまく表現できないときは、折れ線グラフを使ってみることを検討しましょう。

まとめ

この記事の冒頭にあった以下の問いに対して、一つずつ解を出していきました。

  • グラフの種類(棒グラフ、折れ線グラフ、円グラフ、など)をどう使い分けるべきか?
  • どんなグラフのときに、原点を0にしなければならないか?
  • グラフが見にくいとき、どう変えると見やすくなるか?

数値の大小を比較するときは棒グラフ、時系列データで変化量を見せたいときは折れ線グラフを使いましょう。

棒グラフの原点は0でなければいけませんが、折れ線グラフの原点は0である必要はありません。

グラフが見にくいときは、伝えたいメッセージを絞りましょう。そうすることで強調すべきポイントが明確になり、それ以外の要素を目立たなくすることでグラフの分かりやすさが向上します。

高いグラフリテラシーを身につけ、より良いデータ分析ライフを楽しみましょう。