如何在seaborn中制作具有许多独特颜色的颜色图

Joa*_*nna 7 python seaborn colormap

我想制作一个包含许多(大约数百种)独特颜色的颜色图。

这段代码:

custom_palette = sns.color_palette("Paired", 12)
sns.palplot(custom_palette)
Run Code Online (Sandbox Code Playgroud)

返回具有 12 种独特颜色的 palplot。
但是这段代码:

custom_palette = sns.color_palette("Paired", 24)
sns.palplot(custom_palette)
Run Code Online (Sandbox Code Playgroud)

返回具有 12 种独特颜色的 palplot,似乎重复了两次。

如何获得 24 种(或更多)独特颜色?

roc*_*ves 21

绝对有办法得到你想要的!幸运的是,Seaborn 能够读取colorcet调色板,其中有一些不错的选项可以获取更广泛的定性颜色:

from sklearn.datasets import make_blobs
import colorcet as cc
import matplotlib.pyplot as plt
import seaborn as sns


blobs, labels = make_blobs(n_samples=1000, centers=25, center_box=(-100, 100))
palette = sns.color_palette(cc.glasbey, n_colors=25)

sns.scatterplot(x=blobs[:,0], y=blobs[:, 1], hue=labels, data=blobs, palette=palette)
plt.legend(ncol=5, bbox_to_anchor=(1, 1))
plt.show()
Run Code Online (Sandbox Code Playgroud)

结果如下图,有 25 种不同的颜色:

在此输入图像描述

希望这可以帮助!


小智 3

“配对”调色板只有 12 种颜色,因此不能有超过 12 种不同的颜色。

选择具有超过 12 种颜色的连续调色板。

例如“rocket”、“mako”或“viridis”:

custom_palette = sns.color_palette("viridis", 24)
sns.palplot(custom_palette)
Run Code Online (Sandbox Code Playgroud)

https://seaborn.pydata.org/tutorial/color_palettes.html