如何在 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 中执行其他常见任务: