Seaborn 简明教程

Seaborn - Color Palette

颜色在可视化中扮演着比任何其他方面都重要的角色。有效使用时,颜色将为图形增加更多价值。调色板是一种画家用来排列和混合颜料的平面。

Building Color Palette

Seaborn 提供了一个名为 color_palette() 的函数,可用于为图形赋予颜色并为其添加更多美学价值。

Usage

seaborn.color_palette(palette = None, n_colors = None, desat = None)

Parameter

下表列出了构建调色板的参数 −

Sr.No.

Palatte & Description

1

n_colors 调色板中的颜色数量。如果为 None,则默认值将取决于调色板的指定方式。默认情况下, n_colors 的值为 6 种颜色。

2

desat 使每种颜色去饱和的比例。

Return

返回是指 RGB 元组的列表。以下是一些现成的 Seaborn 调色板 −

  1. Deep

  2. Muted

  3. Bright

  4. Pastel

  5. Dark

  6. Colorblind

除此之外,还可以生成新的调色板

在不了解数据特征的情况下,很难决定应该为给定的数据集使用哪种调色板。意识到这一点,我们将对使用 color_palette() 类型的方式进行分类 −

  1. qualitative

  2. sequential

  3. diverging

我们还有另一个函数 seaborn.palplot() ,用于处理调色板。此函数将调色板绘制为水平阵列。我们将在接下来的示例中了解更多有关 seaborn.palplot() 的信息。

Qualitative Color Palettes

定性或定量调色板最适合绘制分类数据。

Example

from matplotlib import pyplot as plt
import seaborn as sb
current_palette = sb.color_palette()
sb.palplot(current_palette)
plt.show()

Output

colour

我们默认情况下没有在 color_palette(); 中传递任何参数,我们看到 6 种颜色。可以通过将值传递给 n_colors 参数来查看所需的颜色的数量。此处, palplot() 用于水平绘制颜色数组。

Sequential Color Palettes

递增图形适用于表述从相对较低值到范围内较高值的的数据分布。

将附加字符“s”追加到传递给 color 参数的颜色将绘制递增图形。

Example

from matplotlib import pyplot as plt
import seaborn as sb
current_palette = sb.color_palette()
sb.palplot(sb.color_palette("Greens"))
plt.show()
grid

注意 − 我们需要将“s”追加到绿色之类的参数中,如上述示例所示。

Diverging Color Palette

发散调色板使用两种不同的颜色。每种颜色代表从某个公共点向任一方向变化的值。

假设绘制从 -1 到 1 的数据。从 -1 到 0 的值采用一种颜色,0 到 +1 采用另一种颜色。

默认情况下,这些值以零为中心。你可以通过传递一个值来使用 center 参数控制它。

Example

from matplotlib import pyplot as plt
import seaborn as sb
current_palette = sb.color_palette()
sb.palplot(sb.color_palette("BrBG", 7))
plt.show()

Output

brown

Setting the Default Color Palette

函数 color_palette() 有一个名为 set_palette() 的伴随函数。它们之间的关系与美学章节中介绍的对类似。 set_palette()color_palette(), 的参数相同,但默认的 Matplotlib 参数已更改,以便将调色板用于所有图形。

Example

import numpy as np
from matplotlib import pyplot as plt
def sinplot(flip = 1):
   x = np.linspace(0, 14, 100)
   for i in range(1, 5):
      plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)

import seaborn as sb
sb.set_style("white")
sb.set_palette("husl")
sinplot()
plt.show()

Output

pallete

Plotting Univariate Distribution

在分析数据时,首先需要了解数据分布。在这里,我们将了解 seaborn 如何帮助我们理解数据的单变量分布。

distplot() 函数提供了查看单变量分布的最便捷途径。此函数会绘制一个符合数据的核密度估计的直方图。

Usage

seaborn.distplot()

Parameters

下表列出了参数及其描述 −

Sr.No.

Parameter & Description

1

data 系列、1d 数组或列表

2

bins Specification of hist bins

3

hist bool

4

kde bool

这些是需要了解的基本且重要的参数。