【问题标题】:Green-red colormap in matplotlib [duplicate]matplotlib中的绿红色颜色图[重复]
【发布时间】:2018-05-31 23:40:57
【问题描述】:

我有我想使用 plt.imshow() 显示的数据,对正值使用红色阴影,对负值使用绿色阴影,从绿色到红色的急剧过渡为零,因此很容易看出值是否正面或负面。我在 matplotlib 的内置颜色图中找到的最接近的是“PiYG”,但它显示的是紫色而不是红色,我更喜欢在颜色变化的地方有一个更清晰的过渡,而不是黄色的阴影。你知道一种方法来获得具有我想要的属性的良好颜色图吗?

【问题讨论】:

  • 尽管可以做到这一点(请参阅链接的副本),您可能会认为在同一颜色图上使用红色和绿色不是一个好主意,因为红绿色盲的人不会能够解释你的情节。
  • 这是一个公平的观点

标签: python matplotlib colormap imshow


【解决方案1】:

我尝试使用下面的代码定义我自己的颜色图,这似乎给出了一个合理的结果,但我认为仍然可以改进:

    cdict = {'red':  ((0.0, 0.0, 0.0),
                 (1/6., 0.0, 0.0),
                 (1/2., 0.8, 1.0),
                 (5/6., 1.0, 1.0),
                 (1.0, 0.4, 1.0)),

             'green':  ((0.0, 0.0, 0.4),
                 (1/6., 1.0, 1.0),
                 (1/2., 1.0, 0.8),
                 (5/6., 0.0, 0.0),
                 (1.0, 0.0, 0.0)),

             'blue': ((0.0, 0.0, 0.0),
                 (1/6., 0.0, 0.0),
                 (1/2., 0.9, 0.9),
                 (5/6., 0.0, 0.0),
                 (1.0, 0.0, 0.0))

        }

    cmap=LinearSegmentedColormap('rg',cdict, N=256)

【讨论】:

  • 注意切换绿色和蓝色数字也可以得到看起来不错的红蓝色颜色图。
  • 就目前而言,这个问题还不够清楚,除了您自己之外的任何人都无法回答。可以稍微清理一下吗?一些代码/minimal reproducible example 也会有所帮助。
猜你喜欢
  • 2011-10-28
  • 2012-10-07
  • 2017-05-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-14
  • 1970-01-01
  • 2011-05-08
相关资源
最近更新 更多