【发布时间】:2017-11-07 10:26:47
【问题描述】:
我想制作一个 matplotlib 等高线图。为此,我需要定义一个向量 Lat、Lon 和 Den。 Lat 和 Lon 有 128 个唯一值,占 16384 个可能的对。我已经有一个矩阵,其中有一个纬度、经度和登的列。但是,这个矩阵的大小是 10946。这意味着有几对 Lat-Lon 没有关联的 Den 并且我想取值为 0。一个例子如下:
Matrix = array([[ 1.5, 0.9, 1.5],
[ 1.5, 1.5, 1 ],
[ 2.9, 1.5, 2 ]])
第一列是纬度,第二列是经度,第三列是密度。我可以使用以下方法创建网格:
Lat, Lon = np.mesgrid(set(Matrix[:,0]), set(Matrix[:,1]))
这将返回 6 个组合。如何制作一个数组“Den”,以便将原始矩阵中的值用于一对 Lat-Lon,否则为 0?如果可以避免循环,那就更好了。
【问题讨论】:
-
虽然这不是实际问题的答案,但您始终可以绘制
tricontour绘图:plt.tricontourf(Matrix[:,0], Matrix[:,1], Matrix[:,2])。
标签: python python-3.x numpy matplotlib