LT:隅谷 孝洋/円グラフか帯グラフか、それが問題だ

Data Visualization Japan Meetup 2024(2024年12月28日開催)における、隅谷 孝洋さん(Data Visualization Japan 主宰者)のLTです。「円グラフは使うべきではない」という通説を、800名を対象とした読み取り実験で検証した結果を報告します。


「円グラフか帯グラフか、それが問題だ」ということで発表させていただきます。

まずはゲームをどうぞ

その前に、ゲームを用意しましたので、皆さんにやっていただきたいです。QRコードを読んでいただくと、円グラフゲームをやるか帯グラフゲームをやるかを選べます。円グラフや帯グラフが出てくるので、それが何パーセントを示しているのかを1パーセント単位で読み取る、というものです。

実際にそんなふうにグラフを読み取ることは、そう多くはないと思いますが、やってみて「意外とできるじゃん」とか「意外とこっちの方が難しいね」「考えにくいよね」といったことを実感していただけると、今日の話につながるかと思います。ぜひやってみてください。

「円グラフはダメだ」という通説

そもそも、R の円グラフのヘルプには「円グラフは良くないので使うべきではない」といったことが書いてあります。ほかにもいろいろな人が「円グラフは大小関係が分かりづらい」「円グラフからパーセンテージを読み取るのはほぼ不可能だ」といったことを言っています。

アカデミックな領域でも同様で、私自身、論文を書くときに円グラフはほとんど使いません。ただ、なかには「そもそも円グラフはダメなんだ」と、ほとんど原理主義のようにおっしゃる方もいます。

そうした人たちの主張は要するに、「大小が分かりにくいのだから、棒グラフやドットチャートで書けばはっきり分かるじゃないか」ということです。確かにその通りです。ただ、そうしたグラフでは、ある部分が全体の何パーセントなのか、あるいは A から B・C を合わせると全体の何パーセントなのかが読み取りづらい、というよりほぼ読み取れません。目盛りと数字があるので足せば分かりますが、直感的に得ることはできないわけです。

そこで、割合を示すグラフとして円グラフを使うわけですが、「円グラフよりは帯グラフの方がいい」とよく言われます。これも確かに、帯グラフが複数あって比率の多い・少ないを比べるなら帯グラフの方がいい、と私も思います。ただ、1個だけポンと置く場合はやはり円グラフが使われることが非常に多いですし、見た目にも結構いい感じなので、これを使うことが多いわけです。

実験の設計

そこで実際に、円グラフと帯グラフの性能を比較する実験をやってみましたので、ご報告します。

実験は2つです。1つは、グラフを示して「この青いところは全体の何パーセントですか」と聞く割合の読み取り。もう1つは相対比較で、「この中でセグメントが3番目に大きいのはどこですか」と聞くもの。今日は主に前者の結果についてお話しします。

Webサイトを作り、クラウドワークスで800名を募集して、テストを受けてもらいました。データとしては、割合の読み取りは円グラフのテストと帯グラフのテストを10回ずつ。人によって順序が偏らないよう、「円グラフを読んでから帯グラフ」の人と「帯グラフを読んでから円グラフ」の人を交互に割り当てました。1人につき入力値10個・正解10個・応答時間10個がそれぞれ2条件分、加えて相対比較を5問ずつ。合計30件の回答データになります。

先ほどのゲームについて言うと、800名の回答をもとに、帯グラフと円グラフそれぞれの経験的な累積分布関数を描いたのがこちらの図です。点数は「1000点 − 誤差の2乗」で、真面目にやるとほとんどの方が900点以上を取ります。仮に960点だったとすると、円グラフでは5割強の人がそれより良い点数、帯グラフでは6割弱の人がそれより良い点数を取っている、と読めます。この時点では、やはり帯グラフの方が読み取りの精度が高いのだな、ということが分かります。

結果 ― 散布図に現れた2本の「筋」

これが今回のメインの結果です。横軸に正答のパーセント、縦軸に被験者の入力を取っています。基本的には斜め45度の線に乗っていれば正しく、実際に乗っています。50パーセント付近で幅が狭まっているのは、そこは正解が多く、誤差の幅が小さいということです。

(縦に抜けている箇所があるのは、実はプログラムのミスで、20パーセントや40パーセントといったちょうどの数が出ないようになってしまっていたためです。)

こうして見ると、帯グラフの方が広がりが狭い。幅が広いということは、それだけずれて読んでいる人がいるということを表しています。

数値で言うと、誤差の2乗の平均は帯グラフが20.1、応答時間が9.1秒。円グラフは誤差の2乗が34.3、応答時間が12.7秒。やはり帯グラフの方が性能がいいのではないか、という話になります。

ただ、ここに変な「筋」があるじゃないですか。これは何かというと、y = 60x のあたりに乗っているもので、円グラフで75パーセントのところを、時計の要領で「45分」と読んでしまった人がわりといた、ということなんです。だいたい3〜4パーセントの人が、こうして時計として読んでしまっていました。

もう1つ、「裏読み」もありました。75パーセントのところを25パーセントと読んでしまう、反対を読んでしまう人です。そんなにたくさんではありませんが、0.3パーセントほどいらっしゃいました。

外れ値を除いて再集計

時計読みのせいで誤差がかなり大きくなっていただろうということで、入力ミスもあるでしょうから、正答と回答の差の絶対値が15パーセント以下のものを残す、という処理をしました。

そうすると、誤差は円グラフが11.5、帯グラフが12.5。応答時間は変わらず9.1秒と12.8秒で、読み取り精度はむしろ円グラフの方がわずかに良く、速度は帯グラフの方が速いという結果になりました。

円グラフは「四分の一」が読みやすい

帯グラフは50パーセント付近がよく読み取れるわけですが、円グラフはそれに加えて、25パーセントと75パーセントのところも直角になるので読み取りやすいだろう――そういう仮説がありました。それを確かめようとしたのが次の図です。

平方誤差の移動平均を取ると、きちんと50パーセントと75パーセントのところで平方誤差が下がっているのが出てきます(円グラフ側は先ほどの時計読みの影響が残っているため、きれいには下がりませんでした)。帯グラフの方も25・75パーセントで少し下がってはいますが、円グラフほど極端には下がりません。

応答時間も読み取りやすさを表すと考えられるので、応答時間の移動平均も作ってみました。こちらははっきりしていて、円グラフでは25・50・75パーセントで下がっているのに対し、帯グラフは50パーセントでは下がるものの、25・75パーセントではそれほど下がりませんでした。

回答者の属性による違い

今回のクラウドワーカーの方々のプロファイルです。女性と男性がおよそ54パーセントと45パーセントで、特に指定はしなかったのですが、だいたい半々になりました。年代はやや偏っていて、30代が最も多く、20代や10代はあまりいませんでした。

年代・性別で読み取りの正確さと素早さを比べてみると、円グラフでは男性の方が女性より良い結果でした。理由は分かりません。帯グラフでは、誤差については男性の方が良いものの、応答時間はそれほど変わらず、男性の方が長いところもありました。なぜこうした差が出るのかも、よく分からない状態です。

アンケート ― 実験の前と後で印象が変わる

アンケートも取りました。実験の前に「円グラフと帯グラフのどちらが読み取りやすいと思いますか」と聞くと、円グラフの方が読み取りやすいと思う、という人が圧倒的に多かったです。

そして実験の後、もう一度同じことを聞いてみました。すると、最初に円グラフの方が読み取りやすいと言っていた人の数がだいぶ減り、特に相対比較(3番目に大きいのはどれか)については、帯グラフの方がものすごく読み取りやすい、という結果になりました。これは今回わりと面白かった点です。

まとめ

  • 読み取り精度は、円グラフの方が帯グラフよりも少しだけ良いか、同程度。世間で言われているほど悪くはない。
  • 読み取り速度は帯グラフの方が速い。つまり認知的負荷は帯グラフの方が低いのではないか。
  • 相対比較は、精度・速度とも帯グラフの方が良かった。3〜4パーセントの差があれば、8割以上の人が判別できるという結果。
  • 面白かったのが時計読みです。アナログ時計は皆さん読み慣れていて、「何分」というのが5パーセント単位(12パーセント相当)で読み取りやすい。そのまま「分」で答えてしまう人もいますが、ある程度の人は「分」で読み取ってからパーセントに変換しているのではないか、という仮説も考えられます。実際、中心線からずれている時計読みの人の方が応答が速いことが分かっていますので、おそらく正しいと思うのですが、これを実証するのは今後の課題です。

結論としては、円グラフは統計やデータサイエンスの専門家が言うほど悪くはない。けれども、一般の人が読み取りやすいと思うほど良くもない。中途半端な結論ですが、そういう結果が出ました。

以上でご報告をおしまいにします。

Built with Hugo
Theme Stack designed by Jimmy