调色板界的“扛把子”-palettable

Palettable调色板库介绍

Palettable是一个Python调色板库,提供了多种不同的配色方案和调色板,支持多种输出方式,如Matplotlib、Bokeh、Plotly、Seaborn等。调色板库是数据可视化中的一个重要组成部分,它可以根据不同的需求提供不同的颜色搭配方案,优化可视化界面效果,主题风格等。因此,Palettable作为一个调色板库,得以在可视化领域里发挥着重要的作用。

1. 安装Palettable库

Palettable库可以通过pip命令进行安装,只需要在命令行输入以下命令即可:

pip install palettable

如果安装成功,就可以在Python环境中进行导入。

2. 调用调色板

Palettable库中提供的调色板有多种分类方式:单一色、连续色、离散色等。调色板中每个色彩都有一个对应的名称,可以根据这个名称获取对应的颜色值。以下是获取YlGnBu调色板的方法:

from palettable.colorbrewer.sequential import YlGnBu_5

colors = YlGnBu_5.hex_colors

print(colors)

调用了YlGnBu_5调色板后,这里从YlGnBu_5调色板中获取了5个颜色,以hex_colors的形式存到colors变量中。hex_colors中包含多种颜色空间的颜色值,如RGB、HSV、HSL等,并通过十六进制格式进行字符串表示。在颜色选择方面,Palettable调色板非常灵活,可以按需选择调色板,同时可以结合其他库或更改颜色空间以满足需求。

3. 调色板应用案例

3.1. 应用于Bokeh可视化图表

以简单的柱状图为例,使用Palettable库的调色板,可以更好地区分不同的数据。下面是一个使用Bokeh可视化库的例子,图表中使用了配色方案为Spectral的调色板。

from bokeh.layouts import column

from bokeh.models import ColumnDataSource

from bokeh.plotting import figure, show

from bokeh.transform import factor_cmap

from palettable.colorbrewer import sequential

spectral = sequential.Spectral_7.hex_colors

fruits = ['Apples', 'Pears', 'Nectarines', 'Plums', 'Grapes', 'Strawberries']

counts = [5, 3, 4, 2, 4, 6]

source = ColumnDataSource(data=dict(fruits=fruits, counts=counts))

p = figure(x_range=fruits, plot_height=250, title='Fruit Counts',

toolbar_location=None, tools='')

p.vbar(x='fruits', top='counts', width=0.9, source=source, line_color='white',

fill_color=factor_cmap('fruits', palette=spectral, factors=fruits))

p.xgrid.grid_line_color = None

p.y_range.start = 0

show(column(p))

运行结果如下:

![bokeh.png](https://cdn.nlark.com/yuque/0/2022/png/97322/1653524480412-0e4a24e5-cb7d-4983-af30-3ae66c97d14a.png)

3.2. 应用于Matplotlib可视化图表

Matplotlib是Python中常用的数据可视化库,Palettable库的调色板同样可以应用于Matplotlib中。下面是一个使用调色板库中的配色方案为Set1的调色板,生成不同颜色的线条的例子。

import numpy as np

import matplotlib.pyplot as plt

from palettable.colorbrewer.qualitative import Set1_9

fig, ax = plt.subplots()

for i, color in enumerate(Set1_9.hex_colors):

x = np.arange(0, 2 * np.pi, 0.01)

y = np.sin(i * x)

ax.plot(x, y, linewidth=2, linestyle='-', color=color)

plt.title('Set1 colors example')

plt.show()

运行结果如下:

![matplotlib.png](https://cdn.nlark.com/yuque/0/2022/png/97322/1653525021262-f91081a4-9d49-4cc7-a7d8-6880e9954723.png)

3.3. 应用于Seaborn可视化图表

Seaborn是一个高度封装的可视化库,它基于matplotlib构建,但与Matplotlib相比,它更适用于数据科学领域。

下面的例子将Seaborn与Palettable库相结合,使用Cubehelix调色板绘制一个三维散点图。从图表中可以看出,使用调色板后可以更快地发现不同类别之间的区别。

import seaborn as sns

from palettable.colorbrewer.sequential import Blues_8

sns.set(style="white")

# Load the example planets dataset

planets = sns.load_dataset("planets")

# Plot the orbital period with horizontal boxes

sns.boxplot(x="orbital_period",

y="method",

data=planets,

whis=np.inf,

palette=Blues_8.hex_colors)

sns.despine(left=True, trim=True)

plt.show()

运行结果如下:

![seaborn.png](https://cdn.nlark.com/yuque/0/2022/png/97322/1653525436291-255be511-d90d-43d6-baa7-c3e45ab0727f.png)

总结

可视化技术在数据展示、数据分析和决策支持中具有重要的作用。调色板作为可视化中的重要组成部分,提供了丰富的颜色搭配方案,可以优化可视化界面效果和主题风格。Palettable调色板库是一个功能完善的Python库,可以帮助数据科学家从中提取自己需要的颜色。在本文中,我们简要介绍了Palettable库的使用方法,并展示了它与Bokeh、Matplotlib和Seaborn等可视化库的应用案例。通过应用调色板,我们可以更好地呈现数据,从而更好地实现对数据的分析和决策。

后端开发标签