Seaborn 图的透明度

Manav Narula 2021年10月2日
Seaborn 图的透明度

在本教程中,我们将讨论如何在 Python 中控制 seaborn 图的透明度。

为了控制绘图的透明度,我们可以在绘图函数中使用 alpha 参数。默认情况下,它的值为 1。该参数的取值范围为 0 到 1,随着该值达到 0,绘图变得更加透明和不可见。它可以直接用于 seaborn 模块的大部分绘图功能。

例如,

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.DataFrame(
    {
        "Day 1": [7, 1, 5, 6, 3, 10, 5, 8],
        "Index": [1, 2, 3, 4, 5, 6, 7, 8],
    }
)

sns.lineplot(data=df, y="Day 1", x="Index", alpha=0.4)

seaborn 线图中的 alpha 参数

请注意,alpha 参数的值可以大于 1。但是,它的值离整数越远,绘图就越透明。同样,它越接近整数,图就越亮。鉴于这可能有点难以理解,仅将参数保持在 0 和 1 之间。

在上面的例子中,我们使用 seaborn 模块创建了一个线图,并通过将 alpha 参数设置为 0.4 使线图更加透明。

在一张图中,我们只能指定 alpha 参数一次。但是,透明度可以用作区分不同变量的一种方式。

例如,

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.DataFrame(
    {
        "Day 1": [7, 1, 5, 6, 3, 10, 5, 8],
        "Day 2": [1, 2, 8, 4, 3, 9, 5, 2],
        "Index": [1, 2, 3, 4, 5, 6, 7, 8],
    }
)
sns.lineplot(data=df, x="Index", y="Day 2", alpha=1)
sns.lineplot(data=df, x="Index", y="Day 1", alpha=0.3)

seaborn 中两个图的 alpha

在上面的代码中,我们在同一张图上绘制了两个变量。基本上,一个图绘制在另一个图上,并且两个图都有不同的 alpha 值。我们可以根据透明度区分这两个值,因为一个变量比另一个更透明。

alpha 参数也可用于不同的 FacetGrid、PairGrid 对象。对于此类对象,我们也可以使用 map() 函数中的参数。

请参考以下代码。

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.DataFrame(
    {
        "Day 1": [7, 1, 5, 6, 3, 10, 5, 8],
        "Index": [1, 2, 3, 4, 5, 6, 7, 8],
    }
)
g = sns.FacetGrid(df)
g.map(sns.lineplot, "Index", "Day 1", alpha=0.4)

带有 gmap 的 alpha 用于 seaborn 中的 facetgrid

作者: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn