はじめに
値の差が数倍から数百倍、数千倍へ広がるデータでは、通常のグラフだけでは小さい値がつぶれて見えたり、増え方の規則性を読み取りにくくなったりします。そこで使われるのが、縦軸または横軸を対数目盛にする対数グラフです。
対数グラフには、片方の軸だけを対数目盛にする片対数グラフと、両方の軸を対数目盛にする両対数グラフがあります。両者は見た目が似ていますが、見つけやすい関係が異なります。
この記事では、同じデータを通常グラフ・片対数グラフ・両対数グラフで見たときの違いを整理し、指数関数やべき乗関係がなぜ直線として表れるのかを式と図で説明します。読了後には、データの増え方に応じてグラフを使い分けられることを目指します。
通常・片対数・両対数グラフの違い
最初に使い分けを整理すると、次のようになります。
| グラフ | 軸の設定 | 見つけやすい関係 | 主な用途 |
|---|---|---|---|
| 通常グラフ | 両軸とも線形 | 加算的な変化、直線関係 | 値の差が大きすぎないデータ |
| 片対数グラフ | 一方が線形、もう一方が対数 | 指数関数的な増加・減少など | 一定割合で増減するデータ |
| 両対数グラフ | 両軸とも対数 | べき乗関係 | 桁が大きく異なる2変数の関係 |
通常グラフは「同じ量ずつ増える」変化を読み取りやすく、片対数グラフは「同じ割合で増える」変化を読み取りやすくなります。両対数グラフは、y = ax^b のように、xの何乗かに比例してyが変わる関係を確認するときに向いています。
大切なのは、「値が大きいから対数グラフを使う」のではなく、どのような増え方や関係を確認したいかで軸を選ぶことです。
「log関数のグラフ」と「対数軸」は別のもの
対数グラフを理解するときに混同しやすいのが、対数関数そのものを描いたグラフと、軸の目盛を対数にしたグラフです。
指数関数と対数関数は逆関数の関係にあります。たとえば、
y = 10^x
に対して、xをyから求める式は、
x = log10(y)
です。

*指数関数と対数関数は、入力と出力を入れ替えた逆関数の関係にあります。*
一方、片対数グラフや両対数グラフは、関数をlog関数へ置き換えることを意味しません。元のデータはそのままでも、軸の目盛を 1, 10, 100, 1000 ... のような比率で配置します。
その結果、元の値の「何倍になったか」という変化を距離として読み取りやすくなります。
指数関数は片対数グラフで直線になる
指数関数的な増加を、次の式で考えます。
y = 10 × 2^x
xが1増えるたびにyは2倍になります。通常グラフでは、後半の大きな値に合わせて縦軸を広げる必要があるため、前半の変化が小さく見えます。
| x | y |
|---|---|
| 0 | 10 |
| 1 | 20 |
| 2 | 40 |
| 3 | 80 |
| 4 | 160 |
| 5 | 320 |
縦軸を対数目盛にした片対数グラフでは、このデータがほぼ直線として並びます。

*指数関数的な増加は、縦軸を対数目盛にすると直線として読み取りやすくなります。*
理由は、式の両辺の対数を取ると分かります。
log(y) = log(10 × 2^x)
対数の性質を使うと、
log(y) = log(10) + x log(2)
となります。log(10) と log(2) は定数なので、log(y) はxについての一次式です。つまり、横軸を通常目盛、縦軸を対数目盛にすると直線になります。

*指数関数の対数を取ると、xに対する一次関係として表せます。*
増加だけでなく、一定割合で減少する指数減衰も同じ考え方で片対数グラフに直線として現れます。
べき乗関係は両対数グラフで直線になる
次に、べき乗関係を考えます。対数を取れるよう、ここでは x > 0 の範囲を考えます。
y = x^2
この場合、xが2倍になるとyは4倍、xが10倍になるとyは100倍になります。xとyの両方が広い範囲へ変化するため、通常グラフでは一部の値が詰まって見えることがあります。

*べき乗関係は、両方の軸を対数目盛にすると直線として読み取りやすくなります。*
式の両辺の対数を取ると、
log(y) = log(x^2)
なので、
log(y) = 2 log(x)
となります。横軸を log(x)、縦軸を log(y) と考えれば、傾きが2の直線です。
一般に、a > 0、x > 0 として、
y = ax^b
なら、
log(y) = log(a) + b log(x)
となります。両軸で同じ底の対数目盛を使えば、両対数グラフ上では傾きbの直線として表れます。

*両対数グラフでは、べき指数bが直線の傾きとして現れます。*
この性質を知っていると、「直線に見えるか」だけでなく、直線の傾きから変数同士の関係を読み取る考え方まで理解できます。
片対数と両対数は何を見たいかで使い分ける
片対数グラフと両対数グラフは、次のように使い分けます。
時間に対して一定割合で増減するかを見たい場合は、時間側を通常目盛、値側を対数目盛にした片対数グラフが候補です。たとえば、複利的な成長、指数減衰、一定割合で増える件数などです。本記事ではこの「縦軸を対数目盛にする」使い方を中心に扱っていますが、関係によっては横軸を対数目盛にする片対数グラフもあります。
2つの量にべき乗関係があるかを見たい場合は、両対数グラフが候補です。たとえば、スケールが大きく異なる物理量や、サイズと別の量の関係を比較するときに利用できます。
一方、売上が毎月100件ずつ増えるような加算的な変化なら、通常グラフの方が直線として理解しやすくなります。
対数グラフは、通常グラフより常に優れているわけではありません。確認したい規則性に合う軸を選ぶことが重要です。データ可視化の目的そのものを整理したい場合は、データ可視化とは?目的と活用場面をわかりやすく解説も参考にしてください。
常用対数と自然対数は「底」が違う
対数には、底の違いによって複数の表し方があります。
| 名称 | 底 | 主な表記 |
|---|---|---|
| 常用対数 | 10 | log10(x)、文脈によってlog(x) |
| 自然対数 | e | ln(x) |
| 二進対数 | 2 | log2(x) |
底が変わると対数値そのものは変わりますが、片対数・両対数で「指数関数やべき乗関係が直線になる」という性質は変わりません。
ただし、グラフや式でlogとだけ書くと、分野やソフトウェアによって底の解釈が異なることがあります。計算結果を共有するときは、常用対数なのか自然対数なのかを明示すると誤解を防げます。
対数グラフを使うときの注意点
対数軸には便利な性質がありますが、通常グラフと同じ感覚では扱えない点があります。
0や負の値は、通常の対数軸にはそのまま表示できません。 実数範囲の対数は正の値に対して定義されるためです。0を含むデータを無理に除外すると、分析対象そのものを変えてしまうことがあります。対数軸を使う前に、0以下の値が何を意味するかを確認する必要があります。
また、対数軸では同じ距離が「同じ差」ではなく「同じ比率」を表します。1から10までの距離と、10から100までの距離が同じになるのはこのためです。
さらに、両対数グラフで点が直線状に見えても、それだけで「必ずべき乗則に従う」と断定はできません。データの範囲が狭い場合や点数が少ない場合は、別の関係でも直線に見えることがあります。対数グラフは関係を見つける手掛かりであり、モデルの妥当性を単独で証明するものではありません。
まとめ
通常グラフ、片対数グラフ、両対数グラフは、値の大きさではなくどのような関係を見たいかで使い分けます。
片対数グラフは、一方の軸だけを対数目盛にすることで、指数関数的な増加・減少を直線として読み取りやすくします。y = 10 × 2^x なら、対数を取ることで log(y) = log(10) + x log(2) となり、xについての一次式になるためです。
両対数グラフは、両方の軸を対数目盛にすることで、y = ax^b のようなべき乗関係を直線として読み取りやすくします。傾きにはべき指数bが現れます。
ただし、0以下の値を通常の対数軸へ載せられないことや、直線に見えるだけで関係を確定できないことには注意が必要です。通常・片対数・両対数の特徴を理解し、データの増え方に合う軸を選びましょう。