首页 > 解决方案 > 如何在 seaborn 中将 matplotlib 颜色图设置为调色板

问题描述

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

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

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

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

标签: pythonmatplotlibseaborncolormap

解决方案


破解 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”颜色图方式,但具有更好的感知特性。


推荐阅读