Python 我有描述我的数据的数组';的空间位置和关联值。如何将其制作成网格?
我对空间数据进行了奇怪的整理。它描述了温度之类的东西。有两个空间坐标数组,Python 我有描述我的数据的数组';的空间位置和关联值。如何将其制作成网格?,python,arrays,numpy,mesh,Python,Arrays,Numpy,Mesh,我对空间数据进行了奇怪的整理。它描述了温度之类的东西。有两个空间坐标数组,x和y。以下是这些数据的排列方式: plt.scatter(x,y, c=x.index, cmap=plt.cm.rainbow) for label, xi, yi in zip([str(s) for s in range(x.size)], x, y): plt.annotate(label, xy=(xi, yi)) plt.show() 我还有一个描述温度场的向量u。每个条目u[i]对应于位置x[i
x
和y
。以下是这些数据的排列方式:
plt.scatter(x,y, c=x.index, cmap=plt.cm.rainbow)
for label, xi, yi in zip([str(s) for s in range(x.size)], x, y):
plt.annotate(label, xy=(xi, yi))
plt.show()
我还有一个描述温度场的向量u
。每个条目u[i]
对应于位置x[i]
和y[i]
如何将u
重塑为网格,其中每个网格位置对应于x
和y
描述的位置?例如,这可以允许我将u
的网格放入plt.contourf
中,它看起来类似于plt.scatter(x,y,c=u)
。我不想假设网格是正方形的
以下是我迄今为止所尝试的:
nx = len(np.unique(x))
ny = len(np.unique(y))
U = np.reshape(u, (nx, ny))
一列中所有
x
的值是否完全相同?如果是这样的话,我很确定你可以简单地lexsort
x
和y
。这将为您提供一个索引向量,然后将其应用于x
,y
和u
,x
是一个向量,而不是矩阵,因此我认为它只有一列。数值不尽相同。我是指绘图中的表观列。例如x[[0、3、23、34等]
将是最左边的列。还是不完全一样吗?@PaulPanzer是的,它们完全一样。我将如何使用lexsort
?类似于idx=np.lexsort((x,y))
(可能您必须交换x和y,不确定)。然后是xo=x[idx]
yo=y[idx]
uo=u[idx]
。一列中所有x
的值是否完全相同?如果是这样的话,我很确定你可以简单地lexsort
x
和y
。这将为您提供一个索引向量,然后将其应用于x
,y
和u
,x
是一个向量,而不是矩阵,因此我认为它只有一列。数值不尽相同。我是指绘图中的表观列。例如x[[0、3、23、34等]
将是最左边的列。还是不完全一样吗?@PaulPanzer是的,它们完全一样。我将如何使用lexsort
?类似于idx=np.lexsort((x,y))
(可能您必须交换x和y,不确定)。然后xo=x[idx]
yo=y[idx]
uo=u[idx]
。