【问题标题】:What was the default color palette for images in seaborn version 0.2?seaborn 0.2 版中图像的默认调色板是什么?
【发布时间】:2014-05-03 11:18:18
【问题描述】:

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

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

但是当我将包从 0.21 升级到 0.3 时,这个默认值变成了一些灰度:

从 v.0.2.1 开始调用的默认调色板是什么?如何取回它?

【问题讨论】:

    标签: python matplotlib seaborn


    【解决方案1】:

    seaborn v. 0.2.1 中的默认调色板是Dave Green's '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中的默认值是在this file in the seaborn repo中定义的。查看Matplotlib sample matplotlibrc file 也可能有助于找到要调整的正确参数。

    【讨论】:

      【解决方案2】:

      只是添加到 j08lue 的答案中,它改变的原因是几乎不可能选择适合各种数据的单个默认颜色图,并且颜色图不好可能导致 lots of @ 987654323@。希望通过将默认设置为灰度地图,它会鼓励人们思考他们的数据并选择正确的地图类型。

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

      【讨论】:

      • 谢谢你的解释,迈克尔,这实际上是一个非常好的举措。
      猜你喜欢
      • 2015-08-01
      • 2020-12-16
      • 1970-01-01
      • 1970-01-01
      • 2021-05-14
      • 1970-01-01
      • 2016-06-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多