首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Matplotlib (Python)规范化数据

Matplotlib (Python)规范化数据
EN

Stack Overflow用户
提问于 2015-03-12 15:57:47
回答 1查看 8.7K关注 0票数 1

嗯,我试图标准化一些(红外)热图数据,以显示它以后。

不过,我仍然坚持规范化,当然可以手工完成,但我不知道matplotlib代码为什么不能工作,python代码如下所示:

代码语言:javascript
运行
复制
import numpy as N
import matplotlib.colors as colors

test2 = N.array([100, 10, 95])
norm = colors.Normalize(0,100)
for pix in N.nditer(test2, op_flags=['readwrite']):
    val = (norm.process_value(pix)[0])
    print (val)

img = norm.process_value(test2)[0]
print(img)

现在,我希望vals或img显示正确的处理数据。取决于matplotlib.colors.Normalize.process_value实际应该得到什么作为参数。

但是在任何情况下:这两个函数都没有规范化,只返回原来的函数。完全不在[0, 1]间隔上。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-12 17:21:36

标准化文件在这里可能有点欺骗:process_value是一个只用于预处理(和静态)的函数。这句话描述了实际使用情况:

一个类,当被调用时,它可以将数据规范化为0.0,1.0间隔。

因此,当您调用类时,就会发生规范化:

代码语言:javascript
运行
复制
import numpy as N
import matplotlib.colors as colors

test2 = N.array([100, 10, 95])
norm = colors.Normalize(0,100)
for pix in N.nditer(test2, op_flags=['readwrite']):
    val = (norm(pix))
    print (val)

img = norm(test2)
print(img)

输出:

代码语言:javascript
运行
复制
1.0
0.1
0.95
[ 1.    0.1   0.95]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29014516

复制
相关文章

相似问题

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