本ページは 視覚属性(Visual Attributes)を多角的に解説します。 上のチップは、 検索・関連語の手がかりです。
視覚属性(Visual Attributes / Visual Variables)は、 可視化理論の 原子単位。 Bertin(1967)に始まり、 Cleveland & McGill(1984)の実験で精度ランキングが定量化されました。 これに基づき、 「重要なデータほど高精度の属性に割り当てる」のが現代の可視化設計のルールです。
Cleveland & McGill の精度ランキング(高い順):
| 順位 | 属性 | 例 | 判読精度 |
|---|---|---|---|
| 1 | 共通軸上の位置 | 散布図、 棒グラフ | ★★★★★ |
| 2 | 非共通軸上の位置 | 並べた棒グラフ | ★★★★ |
| 3 | 長さ | 棒の長さ | ★★★★ |
| 4 | 角度・傾き | 円グラフ、 折れ線の傾き | ★★★ |
| 5 | 面積 | バブルチャート | ★★ |
| 6 | 体積・3D | 3D 棒グラフ | ★★ |
| 7 | 色の濃淡 | ヒートマップ | ★ |
| 8 | 色相 | カテゴリ色分け | ★(カテゴリのみ) |
つまり、 数値の精密な比較が必要なら 散布図か棒グラフ。 円グラフ・3D・面積比較は 精度が落ちると心得る。
位置・長さ・色・形などの認知特性
英語名 Visual Attributes、 カテゴリ:可視化。
同じデータを 3 種類で表現したときの読み取り誤差(実験値):
| 表現 | 使う属性 | 典型誤差 |
|---|---|---|
| 棒グラフ | 長さ | 5〜10% |
| 円グラフ | 角度・面積 | 15〜25% |
| 3D 円グラフ | 3D 角度・面積 | 30〜50% |
| ヒートマップ | 色の濃淡 | 20〜40% |
つまり、 数値の精密比較が必要な場面で 円グラフを選ぶのは設計ミス。
最小コードで動かしてみる例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | import matplotlib.pyplot as plt import pandas as pd df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='utf-8', skiprows=1) # 同じデータでも:棒グラフ(位置・長さで精密に) fig, axes = plt.subplots(1, 2, figsize=(12, 4)) top10 = df.nlargest(10, '高齢化率') axes[0].barh(top10['都道府県名'], top10['高齢化率']) axes[0].set_title('棒グラフ(長さ)') # 円グラフは精度低下するので使わない axes[1].scatter(df['高齢化率'], df['死亡率']) axes[1].set_title('散布図(位置)') |