我在三个1D数组中有一些3D数据,每个x,y,z都有一个。其中所有三个数组的长度相等,但数据范围为N * M。例如:
x = [1, 2, 3, 1, 2, 3]
y = [1, 1, 1, 2, 2, 2]
z = [11, 12, 13, 14, 15, 16]
我想使用matplotlib
的函数之一来绘制此图,其中大多数函数需要输入一个大小为N * M的2D数组,即:
z = [[11, 12, 13],
[14, 15, 16]]
我知道我可以在python中编写一些循环来遍历三个原始数组,以将数据转换为所需的N * M格式,但是我的问题是:是否存在预先存在的python库或函数来执行此操作?可能使用了numpy之类的工具,尽管到目前为止我的研究还没有找到任何可行的解决方案。
顺便说一句:我认为当前的标题不能很好地描述问题,因此我愿意提出更好的标题建议。
答案 0 :(得分:0)
如@Daniel Mesejo的评论中所述,您可以在'numpy'库中使用'reshape'例程:
import numpy as np
z = np.array([11, 12, 13, 14, 15, 16])
# set values for number of rows (N) and columns (M), in a way that N*M = len(z)
N = 2
M = 3
new_z = np.reshape(z, (N,M))