2012-07-10 96 views
0

我已经使用matplotlib创建了一个离散的颜色映射。如何在颜色垂直和水平方向之间添加一条细白线,以便我可以区分一个部分或另一个方框?如何在颜色表中的颜色之间插入线条?

确定这里是我的代码:

def create_colormap(matrix): 

    cmap = mpl.colors.ListedColormap(['#003300','#980000','#FF0000','#006600']) 
    bounds = [-.5,.5,1.5,2.5,3.5,4.5] 
    norm = mpl.colors.BoundaryNorm(bounds,cmap.N) 

    img = pyplot.imshow(matrix,interpolation = 'nearest',cmap = cmap,norm=norm) 

    pyplot.show() 

回答

0

如果你的意思是这样的:

enter image description here

然后,你需要设置edgecolors(也可以设置linewidths属性)。下面是示例代码:

from pylab import * 
data = rand(10, 10) 

c = pcolor(data) 
set_cmap('Blues') 
colorbar() 
c = pcolor(data, edgecolors='w') 
axis([0,10,0,10]) 
show() 
+0

我需要能够在matplotlib中做到这一点,而不是在pylab中。 – NumberOneRobot 2012-07-12 13:28:40

+1

@ user1493950 - 我相信pylab是matplotlib的一部分。请发布您的代码(或示例代码),通过编辑您的问题,然后它会更容易帮助。 – fraxel 2012-07-12 14:39:33

+0

我该怎么做,以便光谱一端的颜色是深红色,而另一端的颜色是深绿色? – NumberOneRobot 2012-07-13 15:58:04