Python中文
首页
教程
问答
标签
搜索
登录
注册
从1D列表创建2D数组并绘制为2D热图
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>这里是Python初学者。我用的是numpy和matplotlib。在</p> <p>我有一个正弦函数,可以生成100个项目宽的一维列表。我想把它变成一个2D列表/数组/矩阵,它宽100项,长50项,矩阵的每一新行与最后一行完全相同(这里的数字是任意的)。在</p> <p>然后我想把它画成灰度x-y热图,颜色与每个索引的数量成比例。比如:</p> <p><a href="https://i.stack.imgur.com/DYsju.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/DYsju.png" alt="enter image description here"/></a></p> <p>我生成的一维数组如下所示:</p> <pre><code>for i in range(0,100): x_array[i] = (np.cos(a[i]))**2 * (np.sinc(b[i]))**2 </code></pre> <p>其中a和b是先前定义的长度相同的列表。然后我把它和n作图,得到一条很好的1D线。在</p> <p>物理学家将认识到这是两个狭缝的干涉图样。我想添加另一个任意长度的维度,以便能够在x/y/强度空间中绘制条纹。在</p> <p>有没有一个简单的循环,我可以实现“复制”这个列表x次,然后有一个方法让我绘制这些?提前谢谢。在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>如果您想要一个与您描述的图像相对应的数组,您可以简单地使用NumPy的切片表示法将所有“行”填充为相同的值:</p> <pre><code>I = np.zeros((50,100)) I[:] = np.cos(np.pi * d * x / lam)**2 * np.sinc(np.pi * b * x / lam)**2 </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何实现一个类,该类在每次更改其属性时更改其“last_edited”变量?
3 回答
如何实现一个类?
6 回答
如何实现一个类的属性设置?
5 回答
如何实现一个能够存储输入并反复访问输入的存储系统?GPA计算器
4 回答
如何实现一个自定义的keras层,它只保留前n个值,其余的都归零?
4 回答
如何实现一个行为类似于Python中序列的最小类?
10 回答
如何实现一个请求的多线程或多处理
9 回答
如何实现一个长时间运行的、事件驱动的python程序?
10 回答
如何实现一个颜色一致的非舔深度地图实时?
10 回答
如何实现一个默认的SQLAlchemy模型类,它包含用于继承的公共CRUD方法?
3 回答
如何实现一次热编码的生成函数
8 回答
如何实现一种在数组中删除对的方法
1 回答
如何实现一类支持向量机用于图像异常检测
9 回答
如何实现一维阵列到二维阵列的复制转换
3 回答
如何实现三维三次样条插值?
2 回答
如何实现三维数据的连接组件标签?
2 回答
如何实现三角形的空间索引
3 回答
如何实现不同模块中对象之间的交互
2 回答
如何实现不同版本的库共存?
5 回答
如何实现不同的班权重
2 回答