Python在meshgrid中的节点处打印值
我从Python在meshgrid中的节点处打印值,python,numpy,matplotlib,plot,mesh,Python,Numpy,Matplotlib,Plot,Mesh,我从 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)
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,依此类推。
有人知道怎么做吗?拿出你的输出阵列,然后:
disparray = myarray + (arange(6) * .2)[:,None]
plot(X.flatten(), disparray.flatten(), '.')
这应该可以
当然,你可以用for循环来绘图
figure()
for r in range(myarray.shape[0]):
plot(X[0], myarray[r] + 0.2*r, 'k')
这将使用网格第一行的X值作为绘图中的X值,并以偏移量0、0.2、0.4打印结果数组的每一行。。。黑线我在使用您的第一行代码时遇到问题,可能是因为我读错了。我尝试使用:disparray=sol+(arange(6)*.2)[,None],但出现以下错误:操作数无法与形状(36,1)(6,1)@M一起广播。Gosvig:问题是什么?如果
myarray
有6行,这应该可以工作。只要确保使用正确的名称空间,例如np.arange(…)
或numpy.arange(…)
,因为我省略了前缀(=我是一个懒惰的pylab用户)。figure
和plot
也是如此,因为它们应该来自matplotlib库。好了,现在我有了一个新的数组disparray(它是从X构建的)和我的数组X。。我看不出这如何帮助我使用meshgrid节点处的值绘制我的sol=(36,1)数组…。@M.Gosvig新数组的构建是为了在绘制值中添加每行0.2的偏移量。然而,如果你尝试第二个食谱,那么你就会看到它是否画出了你想要看到的东西。(第一个画的应该是相同的,但有点。)