23.5.2 グラフの描き方 (1): 棒グラフとヒストグラム

棒グラフやヒストグラムは,棒の長さあるいは面積を用いて数値データを表すグラフです.この節ではもっとも単純な縦棒グラフ,横棒グラフとヒストグラムの描き方を考えます.

この節では

  • 棒グラフの適切な描き方
  • 適切なグラフの例

を順番に書いています.適宜後ろの例を参照しながら,読み進めてください.

適合するデータの尺度

棒グラフやヒストグラムに登場する「長さ」や「面積」は比例尺度です.このことから

  • 棒で表せるのは,比例尺度の数値データのみ
  • 棒グラフの目盛りの取り方は変えてよいが,基準点は 0 にしなければならない

と分かります.したがって,温度のような間隔尺度やマラソンの順位のような順序尺度を棒グラフで表すのは不適切です.一方,データの項目名はどのような尺度でも大丈夫です.

グラフの種類の選択

「棒を使うグラフ」の中には縦棒グラフ,横棒グラフやヒストグラムといった種類があります.個々のデータの性質およびグラフを通して伝えたいメッセージを踏まえ

  • 棒の縦横と伸ばす向き
  • 棒を並べる順序

を順番に決めていきましょう.

棒の縦横

原理的には,棒が縦を向いていても横を向いていても同じ情報を表示できます.ただし,データによっては棒の向きに制約が生じることがあります.

  • 時系列変化を表す場合.データの個数が多い場合は,通常は横軸を時間に取り,縦棒を用いて各時点でのデータの値を表します.
  • 「物理的な向き」を伴う量の場合.「ビルの高さ」や「穴の深さ」といった鉛直方向の量を表すときは棒を縦方向に,「走り幅跳びの距離」や「急ブレーキ時における自動車の停止距離」といった水平方向の量を表すときは,棒を水平に伸ばすのが自然です.
  • ヒストグラムの場合.後に紹介するピラミッドグラフなど特別なケースを除き,横軸に階級,縦軸に数値を取ること多いです.特にヒストグラムが表す分布が正規分布などに従うことが期待される場合,y = f(x) の形をした分布関数との比較が重要ですから,高さが頻度を表すようにします.

これらの理由に当てはまらなければ,グラフは横棒で描くのが良いでしょう.項目名を書きやすいからです.

棒の向き

特に理由がなければ,横棒グラフでは左から右の方向を軸の正の向きとします.私たちは文章やグラフを見るとき左から右に視線を動かすので,棒の左に項目名を置いた方が読みやすくなります.

縦棒グラフでは,「負の値」や「深さなどの,物理的な意味で下向きの値」の場合に限って棒を基準線より下方向に伸ばします.それ以外の場合は,軸を上向きにとります.

体裁の調整

最後に,グラフの体裁を整えましょう.体裁の良し悪しを判断する基準は常に「その体裁が,グラフで伝えるメッセージの内容を補強するかどうか」です.かなり細かい項目もありますが,見やすいグラフを得るため,頑張って調整を行いましょう.

項目の並べ方

グラフの項目を並べる順序は,伝えるメッセージに依存します.棒で表される量は比例尺度ですから,棒グラフやヒストグラムを使う場合,注目する箇所は大体

  • 時間経過や階級上昇に応じた変化
  • ある項目の順位
  • ある項目の値

のいずれかでしょう.どれを伝えたいかを考えてから,並べ方を決めましょう.

時系列データやヒストグラムのように項目名が順序尺度となっており,「時刻が経つ」「階級が上がる」などの状況に応じた値の変化を伝えたい場合,項目名は階級の順序に合わせましょう.横棒グラフなら下から上,縦棒グラフやヒストグラムなら左から右に順序が大きくなるような並べ方が標準的です.ただ項目数が 2, 3 個と少ないときや,「変化の様子と合わせて,端っこの値も強調したい」などの理由があるときは,並べ順を逆転させても違和感はないでしょう.

項目名が単なる名義尺度のときは,項目の順位を見せたいのかどうかで話が変わります.各項目の順位を強調したいなら,値の大小順に合わせて棒を並べましょう.一方,値そのものを強調したい場合は値の大小順で並べないべきです.値の順で揃えると否が応でも順位に目が行ってしまい,本来示したい情報が霞んでしまう恐れがあるからです.値の順以外を用いてグラフを見やすくしたいときは,項目名の五十音順など,データの内容に関係しない順序が使えないか考えてみましょう.

棒の見た目

棒の長さ
棒の長さは比例尺度なので,同じ割合で一斉に伸び縮みさせられます.棒の長さの差を不当に大きく / 小さく見せたりしない範囲で,グラフを表示する紙面やディスプレイの大きさと相談しつつ,見やすいと思われる長さを設定しましょう.
棒の間隔
ヒストグラムのように,項目名が「隙間のない階級区分」である場合には,隣接する棒をぴったりくっつけます.階級の間に隙間がないことを,絵でもアピールするためです.逆に項目名が名義尺度である場合などは「項目の隙間」が定義されないので,隣接する棒をくっつけないようにしましょう.
棒の太さ
棒は,隣接する棒の間隔より太く書きましょう.棒が細すぎたり棒同士の間隔が開きすぎていると,空白と「値が 0 の場所」が見分け辛くなります.また棒の太さは,普通は同じ幅に揃えます.ただしヒストグラムのように「項目名に間隔尺度の幅が用いられており,かつ項目によって階級の幅に違いがある」場合は,棒の太さを階級幅に比例させます.
棒の枠線と塗り
枠で囲って背景色と同じ色で塗るか,あるいは背景色と違う色で塗って枠をなくすかどちらかにしましょう.枠線と背景色とを同時に設定する積極的な理由がない限り,見た目をシンプルにした方がデータに集中できます.また特定の項目を強調する場合,その項目だけを違う塗り方にしましょう.

値の表示

各項目の値
それぞれの項目の値を数値でも示したい場合,すぐ近くに書き込みます.通常は棒の先端,かつ棒の外側に書き込むことが多いです.ただし項目数が多い場合は,全ての数字を記入するとごちゃごちゃしてしまいます.軸を使う方がいいでしょう.
軸と目盛り
上で述べたように,グラフの項目数が多い場合は軸と目盛りをつけましょう.目盛りの数値は等間隔に,かつ細かすぎでも粗すぎでもないようにします.値の範囲が広い場合は補助目盛を使うと効果的です.値を併記した主目盛より短い長さの補助目盛で,主目盛の間を区切りましょう.
目盛り線
目盛り線は細めに描きましょう.太くすると,目盛り線のどこが目盛りの数値に対応するのか不明瞭になってしまいます.目盛り線を軸に対してどっち向きに張り出させるかについては,特にルールは無いようです.
値を示す線
平均値や閾値などの「データにとって特別な値」を示したい場合は,その値を指し示す線を項目軸と平行に描き入れ,棒を描く領域を横断させましょう.棒が値を越えたかどうか,一目で分かるようになります.逆に,データにとって重要でない値を示す線は描き入れるべきでありません.

項目名や軸ラベル

項目名
通常は「棒を揃える基準線に関して,値を示す棒と反対側」に配置します.
軸ラベル
書く場合は慣例に従い,軸に対して中央揃えにした上で単位を添えましょう.

その他

余分な装飾の除去
ほとんどの場合において,グラフを 3D 化したり,棒に影やグラデーションをつけたりといった装飾は無用です.一旦なくしてから「本当に必要か」を落ち着いて考えましょう.
論文やレポートなどの文書中にグラフを描き込む場合,分野によってはグラフを枠囲いする習わしがあります.それに該当するグラフの場合,枠線が太すぎにならないよう注意しながら,棒が描かれる領域を長方形の枠で囲みましょう.さらに軸を併用する場合は,枠の 1 辺を軸として用います.
補助的なオブジェクト
その他強調したいことがあれば,分かりやすくするための図形を描き足しましょう.たとえば両向きの矢印は,項目間の差を表すのに適しています.また時系列データの場合,隣り合う折れ線の先端を点線で結ぶと「変化の度合い」が緩やかか急かも見ることができます.

以上の内容を踏まえて,実践的な棒グラフの描き方を見てみましょう.例として「自動車の運転速度と,急ブレーキ時の停止距離の関係をグラフにしてみます.ここのデータは,警視庁交通局運転免許監修『安全運転の知識』(全日本指定自動車教習所協会連合会) より引用しました.

グラフの縦横

自動車は水平方向に走る乗り物ですから,停止距離のグラフを作るのに縦棒グラフでは不自然です.敢えて縦棒のグラフを描くと,こうなります.

23_4_2_a

一応数値の大小を正確に表してはいます.でも,次のように横棒にした方が「停まるまでの距離」という感じが出るはずです.

23_4_2_b

体裁の調整

この表の体裁についてチェックをしておきます.

  • 軸の向きは標準に合わせ,右向きを正にしています.
  • 停止距離の長さをアピールするため,グラフを横方向に若干引き伸ばしました.
  • 棒同士の間隔は,棒の太さの 80% に調整しています.またヒストグラムではないので,隣り合う棒は分離させています.
  • 項目が 5 つと少ないので,値を直接グラフ中に書き込みました.軸にはキリの良い 50m, 100m だけ書いています.
  • 縦軸,横軸ともに軸ラベルを,軸に対して中心が揃うように書き込んでいます.
  • その他余分な装飾は入れていません.

バリエーション

体裁を変えれば,この表から別のメッセージを伝えることもできます.たとえば,次の図を見てください.さっきのグラフを加工して作った「高速道路における車間距離の目安」を表すグラフです.

23_4_2_c

修正箇所は次の通りです.

  • 高速道路では渋滞あるいは特別な指示がない限り,最低時速 50km/h が求められます.そのため時速 20km/h, 40km/h の項目は不要になるので,削除しました.
  • 高速道路では,一定の距離で「車間距離を確認するための標識」が配置されています.その標識は 40m 間隔で配置されることが多いので,軸の 1 目盛りを 40m にし,さらに棒をまたぐ目盛線を引きました.これによって「求められる車間距離が,およそ標識何個分にあたるか」が分かりやすくなります.
  • 目盛線が数字と衝突しないよう,数字を書き込む位置を棒の外側から内側へと変更しました.その際数字の視認性を確保するため,棒の色を少し濃い目にし,数字を白抜きで表示しました.

このように同じデータから同じ形式のグラフを作るにしても,体裁を変えることでグラフから伝えるべきメッセージを変化させられるのです.

自動車の停止距離のグラフに関していえば,他にも色々なバリエーションが考えられます.

  • 色の変化による強調.たとえば「時速が 100km/h を越えると,停止距離は 100m で収まらない」ことを強調するなら,時速 100km/h に対応する棒だけ色を変えると良いでしょう.その際,忠告を促す際に用いられる「危険色」を使うと,一段と危険性がアピールされます.
  • イラストの利用.このグラフは「車を運転する際の注意」という特別な状況を述べたものですから,横軸の数値を標識ポストのイラストで表したり,0m 地点に車が急ブレーキを踏んでいるイラストを描くなど,適切な装飾の余地が大いにあります.

これ以外には,どのような体裁の取り方があるでしょうか?考えてみてください.