matplotlib中的绿色红色colormap

时间:2017-12-18 15:37:58

标签: python matplotlib colormap imshow

我想要使用plt.imshow()显示数据,使用红色阴影表示正值,使用绿色阴影表示负值,从零到绿色到红色的急剧过渡,因此很容易看出值是否为积极的或消极的。我在matplotlib的内置色彩图中找到的最接近的是'PiYG',但它显示的是紫色而不是红色,我更喜欢在颜色变化的点处进行更清晰的过渡,而不是黄色的色调。你知道如何用我想要的属性获得一个好的色彩映射吗?

1 个答案:

答案 0 :(得分:0)

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

    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)