首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Matplotlib imshow()错误

Matplotlib imshow()错误
EN

Stack Overflow用户
提问于 2014-01-22 23:11:53
回答 1查看 1.2K关注 0票数 1

您好,我不知道这是怎么回事。我有一个z值的mgrib

代码语言:javascript
复制
pp=array(Arrays)  #This is my Array that extract a Grid

y,x=np.mgrid[slice(0,25, 1),slice(0,42, 1)]
z=pp[y,x,1]  #Extract Z with x,y position in the Array of pp

执行时:

代码语言:javascript
复制
cmap = plt.get_cmap('Azul-Rojo-Alpha')
norm = matplotlib.colors.Normalize(vmax=pp[:,:,1].max(), vmin=pp[:,:,1].min())
plt.imshow(z, cmap=cmap, norm=norm, interpolation='nearest')

给我这个错误:

代码语言:javascript
复制
ValueError: data mapping points must start with x=0. and end with x=1

如果选中该选项,并且错误在此处:

代码语言:javascript
复制
cdict1 = {
'red':   (( 0.0, 0.0, (7.0/255.0)),
        (1.0, 1.0, 1.0)),

'green': ((0.0, 0.0,    (183.0/255.0)),
         (0.0, (44.0/255.0), 1)),

'blue':  ((0.0, 0.0,1.0),
             (1.0, 0.0, 1.0))
}
cdict1['alpha'] = ((0.0, 1.0, 1.0),
                           (0.5, 0.0, 0.0),
               (1.0, 1.0, 1.0))
TEMPE = LinearSegmentedColormap('Azul-Rojo-Alpha', cdict1)  
plt.register_cmap(cmap=TEMPE)

但我不知道为什么。

对不起,我的英语

EN

回答 1

Stack Overflow用户

发布于 2014-01-23 00:24:34

你好,我回答我的问题。我认为这是语法错误。

创建具有两种颜色的字典

代码语言:javascript
复制
cdict1 = {
'red':   (( 0.0, 0.0, 0.0),(1.0, 1.0, 1.0)),
'green': ((0.0, 0.0, 0.717),(1.0, 0.17, 0.17)),
'blue':  ((0.0, 1.0,1.0),(1.0, 0.0, 0.0))}

使用3个点放置alpha通道

代码语言:javascript
复制
cdict1['alpha'] = ((0.0, 1.0, 1.0),(0.5, 0.0, 0.0),(1.0, 1.0, 1.0))

创建colorMap

代码语言:javascript
复制
TEMPE = LinearSegmentedColormap('Azul-Rojo-Alpha', cdict1,N=256,gamma=0.75) 

寄存器颜色映射

代码语言:javascript
复制
plt.register_cmap(name='temp',cmap=TEMPE)

Normalice颜色为网格的最大值和最小值

代码语言:javascript
复制
norm = matplotlib.colors.Normalize(vmax=pp[:,:,1].max(), vmin=pp[:,:,1].min(), clip = True)

调用颜色映射

代码语言:javascript
复制
cmap = plt.get_cmap('temp')

创建镜像

代码语言:javascript
复制
plt.imshow(z[::-1], cmap=TEMPE, norm=norm , interpolation='nearest') #extent=[0,42,0,25]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21286678

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档