如何在 seaborn 图中使用对数刻度


您可以使用plt.xscale()plt.yscale()函数在海洋图中分别对 x 轴和 y 轴使用对数刻度:

 import matplotlib. pyplot as plt
import seaborn as sns

#create scatterplot with log scale on both axes
sns. scatterplot (data=df, x=' x ', y=' y ')
plt. xscale ('log')
plt. yscale ('log')

下面的例子展示了如何在实践中使用这些函数。

示例:在 Seaborn 图中使用对数刻度

假设我们有以下 pandas DataFrame:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' x ': [2, 5, 6, 7, 9, 13, 14, 16, 18],
                   ' y ': [200, 1700, 2300, 2500, 2800, 2900, 3400, 3900, 11000]})

#view DataFrame
print (df)

    xy
0 2 200
1 5 1700
2 6 2300
3 7 2500
4 9 2800
5 13 2900
6 14 3400
7 16 3900
8 18 11000

我们可以使用seaborn中的scatterplot()函数来创建一个在x轴和y轴上都使用线性刻度的散点图:

 import seaborn as sns

#create scatterplot with default axis scales
sns. scatterplot (data=df, x=' x ', y=' y ')

要仅对 y 轴使用对数刻度,我们可以使用以下语法:

 import matplotlib. pyplot as plt
import seaborn as sns

#create scatterplot with log scale on y-axis
sns. scatterplot (data=df, x=' x ', y=' y ')
plt. yscale ('log')

对数标度

请注意,Y 轴现在使用对数刻度。

如果我们愿意,我们还可以在 x 轴上使用对数刻度:

 import matplotlib. pyplot as plt
import seaborn as sns

#create scatterplot with log scale on both axes
sns. scatterplot (data=df, x=' x ', y=' y ')
plt. yscale (' log ')
plt. xscale (' log ') 

请注意,两个轴现在都使用对数刻度。

相关:什么时候应该在图表中使用对数刻度?

其他资源

以下教程解释了如何在 Seaborn 中执行其他常见任务:

如何为 Seaborn 绘图添加标题
如何在 Seaborn 图中旋转轴标签
如何更改 Seaborn 图上的轴标签

添加评论

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