Seaborn调色板



在可视化中,颜色比任何其他方面都起着更重要的作用。有效使用颜色可以为图表增加更多价值。调色板是指画家用来排列和混合颜料的平面。

构建调色板

Seaborn提供了一个名为color_palette()的函数,可用于为图表着色并增加其美学价值。

用法

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

参数

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

序号 调色板及描述
1

n_colors

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

2

desat

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

返回值

返回值是指RGB元组列表。以下是现成的Seaborn调色板:

  • 深色(Deep)
  • 柔和(Muted)
  • 亮色(Bright)
  • 淡色(Pastel)
  • 暗色(Dark)
  • 色盲友好(Colorblind)

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

在不知道数据集特征的情况下,很难决定应该为给定数据集使用哪个调色板。考虑到这一点,我们将对使用color_palette()的不同方法进行分类:

  • 定性(qualitative)
  • 顺序(sequential)
  • 差异(diverging)

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

定性调色板

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

示例

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

输出

Colour

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

顺序调色板

顺序图适合表达数据在一定范围内从相对较低的值到较高值的分布。

将附加字符“s”添加到传递给颜色参数的颜色将绘制顺序图。

示例

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”,例如上述示例中的“Greens”。

差异调色板

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

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

默认情况下,值以零为中心。可以通过传递值来使用center参数进行控制。

示例

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

输出

brown

设置默认调色板

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

示例

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

输出

graph

绘制单变量分布

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

函数distplot()提供了快速查看单变量分布的最便捷方法。此函数将绘制一个拟合数据核密度估计的直方图。

用法

seaborn.distplot()

参数

下表列出了参数及其说明:

序号 参数及说明
1

data

序列、一维数组或列表

2

bins

直方图bin的规范

3

hist

布尔值

4

kde

布尔值

这些是需要关注的基本且重要的参数。

广告