📜  Seaborn-调色板(1)

📅  最后修改于: 2023-12-03 15:05:08.161000             🧑  作者: Mango

Seaborn-调色板

Seaborn是一个基于matplotlib的Python数据可视化库,可以帮助我们更加轻松地进行数据可视化。在Seaborn中,调色板(Palette)被广泛应用于图形的绘制。调色板决定了不同数据的颜色,因此调色板在数据可视化中非常重要。本文将介绍一些Seaborn中常用的调色板。

Seaborn调色板的分类

Seaborn中的调色板大致可以分为以下几类:

  • 顺序(Sequential)调色板:用于表达连续数据,如时间序列等。
  • 分类(Categorical)调色板:用于表达离散数据,如类别等。
  • 自定义(Custom)调色板:可以由用户自己定义。
顺序调色板
1. Seaborn默认调色板

Seaborn默认提供了颜色渐变的调色板,从浅到深逐渐变化。这种调色板适用于表达连续数据。

import seaborn as sns

sns.color_palette()

可以看到,sns.color_palette()函数返回的是一个元组,其中包含6种默认的颜色:

[(0.2980392156862745, 0.4470588235294118, 0.6901960784313725),
 (0.3333333333333333, 0.6588235294117647, 0.40784313725490196),
 (0.7686274509803922, 0.3058823529411765, 0.3215686274509804),
 (0.5058823529411764, 0.4470588235294118, 0.6980392156862745),
 (0.8, 0.7254901960784313, 0.4549019607843137),
 (0.39215686274509803, 0.7098039215686275, 0.803921568627451)]

可以看到,这些颜色分别是深蓝、深绿、深红、深紫、深黄和淡蓝。

2. 其他顺序调色板

在Seaborn中,除了默认调色板,还提供了一些其他的顺序调色板,例如色调(Hue)调色板、亮度(Lightness)调色板等。

我们可以使用sns.color_palette()函数来指定这些调色板。比如调用sns.color_palette("Blues")函数,会返回一组由浅到深逐渐变化的蓝色颜色:

sns.color_palette("Blues")

返回:

[(0.9677975592919913, 0.9840848806366048, 0.9989273356401384),
 (0.8705093248388747, 0.9217171881705548, 0.9688313096918683),
 (0.776078924771261, 0.8584073464102074, 0.9377953843726035),
 (0.6196078431372549, 0.792156862745098, 0.8823529411764706),
 (0.4196078431372549, 0.6823529411764706, 0.8392156862745098),
 (0.25882352941176473, 0.5725490196078431, 0.7764705882352941)]
分类调色板
1. Seaborn默认调色板

在Seaborn中,分类调色板用于表达离散数据。默认情况下,Seaborn提供了一组离散颜色来对应不同的类别。

sns.color_palette("bright", 10)

这里的"bright"是调色板名,数字参数表示调用多少个不同颜色。返回:

[(0.2823529411764706, 0.47058823529411764, 0.8117647058823529),
 (0.41568627450980394, 0.8, 0.396078431372549),
 (0.8392156862745098, 0.37254901960784315, 0.37254901960784315),
 (0.7058823529411765, 0.48627450980392156, 0.7803921568627451),
 (0.7686274509803922, 0.6784313725490196, 0.4),
 (0.4666666666666667, 0.7450980392156863, 0.8588235294117647),
 (0.8862745098039215, 0.596078431372549, 0.4666666666666667),
 (0.9411764705882353, 0.8627450980392157, 0.35294117647058826),
 (0.7058823529411765, 0.7058823529411765, 0.7058823529411765),
 (0.5411764705882353, 0.7647058823529411, 0.7803921568627451)]

可以发现,这组颜色非常鲜艳、明亮。

2. 其他分类调色板

除了默认调色板以外,Seaborn还提供了很多其他的分类调色板。例如,我们可以使用sns.color_palette("Set2", n_colors=6)函数来调用一个颜色饱和度较高的调色板。

sns.color_palette("Set2", n_colors=6)

返回:

[(0.4, 0.7607843137254902, 0.6470588235294118),
 (0.9882352941176471, 0.5529411764705883, 0.3843137254901961),
 (0.5529411764705883, 0.6274509803921569, 0.796078431372549),
 (0.9058823529411765, 0.5411764705882353, 0.7647058823529411),
 (0.6509803921568628, 0.8470588235294118, 0.32941176470588235),
 (1.0, 0.8509803921568627, 0.1843137254901961)]
自定义调色板

除了使用Seaborn中提供的调色板,我们还可以根据自己的喜好和需求进行自定义。自定义调色板最简单的方式是使用RGB值或十六进制颜色代码来指定颜色。

例如,我们可以定义一个自己的颜色列表:

my_colors = ["#6D4C41", "#4CAF50", "#F44336", "#CDDC39", "#2196F3"]

然后通过sns.color_palette()来使用自定义调色板。

sns.color_palette(my_colors)

返回:

[(0.42745098039215684, 0.2980392156862745, 0.2549019607843137),
 (0.2980392156862745, 0.7843137254901961, 0.3137254901960784),
 (0.9568627450980393, 0.2627450980392157, 0.21176470588235294),
 (0.803921568627451, 0.8627450980392157, 0.2235294117647059),
 (0.12941176470588237, 0.5882352941176471, 0.9529411764705882)]

可以发现,这组调色板由棕色、绿色、红色、黄色和蓝色组成,非常适合用来表达自然场景。