管理

対数グラフの読み方:同じ距離は同じ増加量ではない

この記事はAIの支援を受けて原文を翻訳したものです。専門用語や数式は原文とあわせて確認してください。

目盛りが1、10、100、1,000と等間隔で並んでいれば、同じ距離は同じ差ではなく同じ比率を示します。対数軸は幅広い値を比較するのに便利ですが、普通の物差しのように読むと増加量を誤解します。まず目盛りと「log」の表示を確認しましょう。

線形軸の等間隔は同じ差、対数軸の等間隔は同じ比を表す。
図 1. 線形軸の等間隔は同じ差、対数軸の等間隔は同じ比を表す。

10倍の区間は同じ長さ

底が10の対数軸では、1から10、10から100、100から1,000の距離が同じです。増加量は9、90、900ですが、いずれも10倍です。OpenStaxの対数関数の説明では、対数と指数関数の関係を学べます。軸上の位置は元の数そのものではなく、その対数で決まります。

同じ時間間隔に架空の値10、20、40、80を置くと、毎回2倍なので対数の縦軸では同じ距離ずつ上がり、直線になります。実際の増加量は10、20、40です。一方10、20、30、40のように同じ量を加えると、対数軸上の間隔は次第に狭くなります。

中央も算術平均ではない

10と100のちょうど中間の位置は55ではなく約31.6です。10 × 100の平方根で、10から31.6へも31.6から100へも約3.16倍になります。値を推測するときは細かな目盛りと表示を見て、両端の数字を足して2で割らないようにします。

区間差倍率対数軸の距離
2 → 201810倍一つの区間
20 → 20018010倍同じ区間
10 → 20102倍100 → 200と同じ
通常の対数軸は正の値が対象であり、ゼロ、負数、欠測を説明なく捨てない。
図 2. 通常の対数軸は正の値が対象であり、ゼロ、負数、欠測を説明なく捨てない。

0と負の値はどうなったか

通常の実数の対数軸では、0と負の値をそのまま表示できません。Matplotlibの対数軸文書は、そのような値を隠す処理や小さな正の値に切り詰める処理を示しています。点がないからといって、元のデータにも観測がないとは限りません。描画方法と元の表を確認します。

0が重要なら線形軸も示すか、別の変換を説明します。symlogは0付近を通常の対数軸と違う方法で扱います。すべての値に1を足す方法も解釈を変えるので、説明なしの対処には向きません。

傾向を判断する前の四項目

  1. どちらの軸が対数か確認します。
  2. 底と目盛り間の倍率を調べます。
  3. 追加量を問うのか比率を問うのか区別します。
  4. 0、負の値、欠測の扱いを確認します。

ファイル数10件から10,000件のような広い範囲には対数軸が役立ちます。何件追加されたかを示すなら、線形グラフや元の件数がより直接的です。対数グラフが常に不公平、あるいは常に公平というわけではありません。問いと軸の意味が合うかが大切です。同じ見た目の高さを同じ増加量と読み替えないことから始めましょう。

あわせて読みたい記事

本文の理解を助けるために制作したオリジナルイラストです。