python - 如何在 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'
解决方案
破解 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”颜色图方式,但具有更好的感知特性。
推荐阅读
- java - 我应该如何在 Java 中获得结果使用流?
- python - 如何安排脚本每天在 jupyter notebook 上运行?
- r - Shiny App中反应式条形图的问题
- compiler-errors - 编译错误:collect2.exe:错误:ld 返回 1 退出状态
- java - 有没有办法让微调器延迟显示其内容,直到发生某种情况?
- python - 在初始化之前获取类 __init__ 参数
- python-3.x - 无法在 VSCode 中使用 numpy 加载 txt 文件
- ajax - 使用codeigniter 3和ajax的带有时间范围的日期范围
- python - 使用 Pandas 过滤 DatetimeIndex
- c++ - 'cin' 没有命名类型