在seaborn版本0.2中图像的默认调色板是什么?

时间:2014-03-25 14:28:05

标签: python matplotlib seaborn

我立刻喜欢seaborn的一件事是它为图像(imshowpcolormeshcontourf,...)设置了Matplotlib默认调色板非常好的一个我以前没见过的(黑 - 蓝 - 绿 - 棕 - 粉 - 紫 - 白):

plt.contourf(np.random.random((20,20)))

Default contourf plot under seaborn v. 0.2.1

但是当我将软件包从版本0.21升级到0.3时,此默认值更改为某些灰度:

Default contourf plot under seaborn v. 0.3

调用v.2.2.1的默认调色板是什么?如何取回?

2 个答案:

答案 0 :(得分:6)

seaborn v.0.2.1中的默认调色板为Dave Green's 'cubehelix',您可以通过

将其恢复到0.3。
import seaborn as sns
sns.set(rc={'image.cmap': 'cubehelix'})

蛮力'找到这个的方法是回滚到旧版本并创建默认情节:

img = plt.contourf(np.random.random((20,20)))
print(img.cmap.name)

实际上,seaborn中的默认值是在this file in the seaborn repo中定义的。查看Matplotlib sample matplotlibrc file也可能有助于找到要调整的正确参数。

答案 1 :(得分:6)

只是要添加到j08lue的答案,它改变的原因是几乎不可能选择适合所有类型数据的单个默认色图,并且色差图错误会导致lots {{ 3}} of。希望通过使默认为灰度图,它将鼓励人们思考他们的数据并选择正确的地图。

顺便说一下,使用色彩图绘制的所有(大多数?)matplotlib函数将采用cmap关键字参数,即plt.contourf(x, y, z, cmap="cubehelix")将起作用。