如何在 python 中创建双对数图


对数图是在 x 轴和 y 轴上都使用对数刻度的图。

当两个变量之间的真实关系遵循某种类型的幂律时,这种类型的图对于可视化两个变量非常有用。

本教程介绍如何在 Python 中创建双对数图。

如何在 Python 中创建双对数图

假设我们有以下 pandas DataFrame:

 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 )

很明显, xy之间的关系遵循幂律。

以下代码展示了如何使用numpy.log()对两个变量执行对数转换并创建双对数图以可视化它们之间的关系:

 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 ') 

Python 中的双对数图

其他资源

如何在 R 中创建双对数图
如何在 Excel 中创建双对数图

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注