Python で対数対数プロットを作成する方法
対数対数プロットは、 x 軸と y 軸の両方に対数スケールを使用するプロットです。
このタイプのプロットは、2 つの変数間の真の関係がある種のべき乗則に従う場合に、2 つの変数を視覚化するのに役立ちます。
このチュートリアルでは、Python で対数対数プロットを作成する方法を説明します。
Python で対数対数プロットを作成する方法
次のパンダ データフレームがあるとします。
import pandas as pd import matplotlib. pyplot as plt #createDataFrame df = pd. DataFrame ({' x ': [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], ' y ': [3, 4, 5, 7, 9, 13, 15, 19, 23, 24, 29, 38, 40, 50, 56, 59, 70, 89, 104, 130]}) #create scatterplot plt. scatter (df. x , df. y )
xとyの関係がべき乗則に従うことは明らかです。
次のコードは、 numpy.log()を使用して 2 つの変数に対して対数変換を実行し、両対数プロットを作成してそれらの関係を視覚化する方法を示しています。
import numpy as np #perform log transformation on both x and y xlog = np. log ( df.x ) ylog = np. log ( df.y ) #create log-log plot plt. scatter (xlog, ylog)
x 軸は x の対数を表示し、y 軸は y の対数を表示します。
log(x) と log(y) の関係が前のプロットに比べてはるかに線形になっていることに注目してください。
プロットを解釈しやすくするために、自由にタイトルと軸のラベルを追加してください。
#create log-log plot with labels
plt. scatter (xlog, ylog, color=' purple ')
plt. xlabel (' Log(x) ')
plt. ylabel (' Log(y) ')
plt. title (' Log-Log Plot ')
また、次のようにplt.plot()を使用するだけで、散布図の代わりに折れ線グラフを作成できることにも注意してください。
#create log-log line plot
plt. plot (xlog, ylog, color=' purple ')
plt. xlabel (' Log(x) ')
plt. ylabel (' Log(y) ')
plt. title (' Log-Log Plot ')