Python在网格点绘图值

0 投票
1 回答
983 浏览
提问于 2025-04-18 10:36

我有一个

    numpy.meshgrid(xx,yy)

矩形网格。

为了得到坐标(节点),我把它分成了两个列表,X和Y,里面有这些值:

    X = (0.0 , 0.2 , 0.4 , 0.6 , 0.8 , 1.0)*6
    Y = (0.0 , 0.2 , 0.4 , 0.6 , 0.8 , 1.0)*6

这样就形成了一个有36个点的网格。(可以把它想象成一个单位正方形)

现在,我通过解一个线性方程组得到了另一个列表,大小是(36,1)。

我想把这个(36,1)列表中的值绘制到我网格中对应的节点上。

所以,来自(36,1)列表的前6个点位于x轴上(Y = 0),接下来的6个点位于Y = 0.2,依此类推。

有没有人知道该怎么做?

1 个回答

1

拿你的输出数组,然后:

disparray = myarray + (arange(6) * .2)[:,None]
plot(X.flatten(), disparray.flatten(), '.')

这样就可以了。

当然,你也可以用一个循环来画图。

figure()
for r in range(myarray.shape[0]):
    plot(X[0], myarray[r] + 0.2*r, 'k')

这个方法使用你网格第一行的X值作为图中的X值,并且把你结果数组 myarray 的每一行在0、0.2、0.4等位置上用黑线画出来。

撰写回答