如何在seaborn中将matplotlib颜色图设置为调色板

时间:2021-03-19 01:40:41

标签: python matplotlib seaborn colormap

如何在 seaborn 中将 matplotlib 颜色图设置为我的调色板?

有一个类似的问题 here,但我无法实现它:

import matplotlib.colors as mcolors
cmap = mcolors.LinearSegmentedColormap.from_list('jet')
sns.set_palette(cmap)

第二行抛出以下错误:from_list() missing 1 required positional argument: 'colors'

1 个答案:

答案 0 :(得分:3)

破解 seaborn 的、咳咳、反喷气安全系统的最简单方法是直接使用 mpl_palette

sns.mpl_palette("jet", 6)

“给定 matplotlib 颜色图,我如何获得离散颜色列表?”的更通用方法。是调用具有介于 0 和 1 之间的强度向量的颜色图对象:

plt.cm.jet(np.linspace(0, 1, 6))

请注意,在那里你会得到不同的结果,因为 seaborn 会剪掉两个极端值,做类似的事情

plt.cm.jet(np.linspace(0, 1, 8))[1:-1]

此外,虽然我同意 jet 基本上是少量离散颜色的良好来源,除非出于某种原因您确实需要特别来自 jet 的颜色,否则我建议查看构建的“turbo”颜色图基本相同,但具有更好的感知特性。