数组整形未正确映射到numpy meshgrid

2024-09-30 05:20:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个长的121元素数组,其中的数据按升序存储,我想将其整形为11x11矩阵,因此我使用NumPy respeme命令

Z = data.attributevalue[2,time,axial,:]
Z = np.reshape(Z, (int(math.sqrt(datacount)), int(math.sqrt(datacount)))) 

数据应该在笛卡尔平面上定向,我用以下内容创建网格网格

^{pr2}$

问题是Z行的顺序错误,所以矩阵最后一行的数据应该是第一行,反之亦然。我想重新排列,以便以适当的方式填充行。起始数组Z按以下方式组合[数据点1,数据点2….,数据点N]。数据点1应该在左上角,最后一个点在右下角。有没有一种简单的方法来完成这个任务呢?或者我必须创建一个函数来改变行的顺序?在

我的情节陈述如下

surf = self.ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=cm.jet,
    linewidth=1, antialiased=True)

***更新****

我尝试向后填充初始数组,但仍然没有成功。我把轴的方向改为

y = np.arrange(12.5,1,-1)

这翻转了数据,但我的轴标签是错误的,所以这不是一个真正的解决我的问题。有什么想法吗?在


Tags: 数据numpy网格元素顺序错误np方式
1条回答
网友
1楼 · 发布于 2024-09-30 05:20:05

原始数组可能看起来不像1x121数组。下面的代码块显示如何将数组从1x121整形到11x11。在

import numpy as np
A = np.arange(1,122)
print A
print A.reshape((11,11))

给出:

^{pr2}$

相关问题 更多 >

    热门问题