python-将两个2D数组合并为一个图像
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python-将两个2D数组合并为一个图像,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1367字,纯文字阅读大概需要2分钟。
内容图文
我有两个2D数组,每个数组代表一个地图上的属性.其中一个代表冰雹发生的概率(0%-100%),另一个则代表冰雹的严重程度(0-无冰雹,1-低,2-中,3-高).
我可以使用matplotlib的imshow和预定义的颜色图分别绘制此数组:
import matplotlib.pyplot as plt
import matplotlib.colors as cl
cmap = cl.ListedColormap(['#00FF00', '#FFFF00', '#FF0000'])
bounds = [0, 30, 60, 100]
norm = cl.BoundaryNorm(bounds, cmap.N)
plt.subplot(121)
plt.imshow(hail_prob, cmap=cmap, norm=norm)
cmap = cl.ListedColormap(['#00FF00', '#FFFF00', '#FF0000'])
bounds = [0.5, 1.5, 2.5, 3.5]
norm = cl.BoundaryNorm(bounds, cmap.N)
plt.subplot(122)
plt.imshow(hail_sev, cmap=cmap, norm=norm)
如上所示,这非常容易.
但是我想要一个结合了这两个功能的独特情节.我已经测试了轮廓函数,但是数据非常不规则,并且绘图看起来很糟糕.
我一直在考虑将两个特征组合到一个颜色图中,但是我不确定如何做到这一点.假设我希望每种概率和严重性组合都使用一种颜色.
有关如何执行此操作的任何想法?
解决方法:
我会做一个散点图,其中颜色是一个值,大小是另一值.例如,颜色可以是概率,但是大小可以是强度.
这是一些随机数据
hail_prob = np.random.rand(48, 64)
hail_sev = np.random.randint(0,4,hail_sev.shape)
在这里,从现有数据中,您可以使用np.meshgrid捕获x-y点并将其用于散点图中:
x = np.arange(hail_prob.shape[1])
y = np.arange(hail_prob.shape[0])
xy = np.meshgrid(x,y)
scatter(*xy, c=hail_prob, s=hail_sev)
您必须调整尺寸的归一化,因为您的单位将与良好的像素尺寸有所不同.
或更有趣的形状:
内容总结
以上是互联网集市为您收集整理的python-将两个2D数组合并为一个图像全部内容,希望文章能够帮你解决python-将两个2D数组合并为一个图像所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。