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

4

我立即喜欢上了seaborn的一件事是,它将Matplotlib默认的颜色调色板设置为一个我以前从未见过的非常好的调色板(黑色-蓝色-绿色-棕色-粉色-紫色-白色),适用于图像(imshowpcolormeshcontourf等):

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

seaborn v. 0.2.1下的默认contourf图

但是当我将该软件从0.21版本升级到0.3版本后,该默认值变为一些灰度:

seaborn v.0.3下的默认contourf图

从v.0.2.1开始的默认颜色调色板叫什么,我该如何恢复它?

2个回答

7
在 seaborn v. 0.2.1 中,默认的颜色调色板是 Dave Green 的 'cubehelix',而你可以通过 v. 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中的默认值在seaborn存储库中的此文件中定义。查看Matplotlib示例matplotlibrc文件也有助于找到正确的参数进行调整。

6
仅补充j08lue的答案,更改的原因是几乎不可能选择适用于所有数据类型的单个默认颜色映射,使用不良的颜色映射可能会导致许多 问题。 希望通过将默认设置为灰度映射,鼓励人们思考他们的数据并选择正确的映射类型。
顺便说一下,所有(大多数?)使用颜色映射绘制的matplotlib函数都将采用关键字参数,即plt.contourf(x,y,z,cmap =“ cubehelix”)将起作用。

谢谢你的解释,Michael,这实际上是一个非常好的倡议。 - j08lue
最后两个链接已经失效。 - jared

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接