领先的免费Web技术教程,涵盖HTML到ASP.NET
Python数据可视化利器——详解seaborn颜色风格
nixiaole 2024-11-20 19:51:24 知识剖析 28 ℃
颜色在图像风格中比起其他元素显得更为重要。当合理有效地使用颜色时,数据模式会被凸显出来;反之,则会被掩盖。seaborn内置的“调色板”拥有强的颜色设置功能,下面让我们来看一下吧。
创建调色板
使用离散调色板过程中最重要函数是color_palette()。color_palette() 会接受所有的seaborn调色板或者matplotlib Colormap 。 它还可以获取以任何有效matplotlib格式(RGB元组、十六进制颜色代码或HTML颜色名字)指定的颜色列表。返回值始终是RGB元组的列表。
最后,在没有参数的情况下调用color_palette()函数将会返回当前默认的颜色循环。
使用循环颜色系统(seaborn函数在处理当需要区分的数据集超过颜色循环中的6种颜色时时所使用的默认方法):
最为常用的方法是使用hls颜色空间——一种简单的RGB值变体
另外,seaborn提供了一个husl系统(后来更名为HSLuv)的接口,这也使选择间隔均匀的色调变得容易,同时使亮度和饱和度都更加均匀。
再来看下另外两种内置设置:
当然,您可能只希望手动指定一组您喜欢的颜色:
xkcd开展了一项众包工作来为随机RGB颜色命名。产生了954个颜色名字,您现在可以在seaborn中使用xkcd_rgb字典来引用它们:
顺序(渐变)调色板
Color Brewer库有大量渐变配色方案,它们以调色板中主要的一种或多种颜色命名。
cubehelix调色板系统使顺序调色板的亮度产生线性变化,色调也会产生一些变化。
sns.palplot(sns.cubehelix_palette(8, start=2, rot=0, dark=0, light=.95, reverse=True))
设置调色板
与color_palette()函数相伴随的有set_palette(),但它会更改默认的matplotlib参数,以便调色板应用于所有图像。
def sinplot(flip=1):
x = np.linspace(0, 14, 100)
for i in range(1, 7):
plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
如果觉得有用的话还请点个赞啊~