我需要一个环形配色图,看到这个答案描述了使用seaborn导入husl系统的方法。我试图复制例子中的简单用法,但是我的图片无法显示颜色。它总是以黑白方式显示(seaborn默认配色方案)。我正在使用ipython,但不在ipython笔记本中。(一些seaborn函数仅适用于ipython notebook -- 我需要的答案不依赖于此。)具体的环境是python 2.7.3,ipython 1.1.0。
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
fig = plt.figure()
im = np.random.random((100, 100))
with sns.color_palette("husl", 8):
plt.imshow(im)
Displays:
color_palette()
可以调用_entry_和_exit_作为上下文使用,是吗?一个包括mpl.rcParams["image.cmap"]
但目前没有的上下文?(很棒的演示。具有讽刺意味的是,离散的色条对我来说非常有用,可以突出数据特征。) - cphlewiscmap
-- 最简单的方法是使用 matplotlib 的rc_context
函数,但您也可以使用 seaborn 的axes_style
颜色管理器,因为image.cmap
在那里定义 -- 但是 seaborn 的颜色调色板和颜色映射是具有不同目的的对象,因此在color_palette
中这样做是没有意义的。 - mwaskomimshow
需要一个cmap
关键字参数,因此使用上下文管理器而不是直接将色图传递给函数会过于复杂,因此不符合Pythonic的风格。 - mwaskomrc_context
!太好了。 - cphlewis