Hi Robert, Thanks. I discovered that after I posted. It had been noted as a bug at one point I see. I still kinda feel like it's a bug since the standard way to call it results in very unexpected behavior. But in any case I now know how to get the results I was looking for.
Regards, Jon On Thu, Nov 21, 2024 at 2:18 PM Robert Kern <robert.k...@gmail.com> wrote: > On Thu, Nov 21, 2024 at 2:00 PM Slavin, Jonathan via NumPy-Discussion < > numpy-discussion@python.org> wrote: > >> Hi all, >> >> I was trying to use meshgrid with three arrays and got some odd results. >> Here's a simple example: >> xt = np.array([1,2,3,4]) >> yt = np.array([6,7,8]) >> zt = np.array([12,13]) >> xxx,yyy,zzz = np.meshgrid(xt,yt,zt) >> So I would expect that xxx[0,0,:] = array([1,2,3,4]) >> instead I get xxx[0,0,:] = array([1,1]) and xxx[0,:,0] = array([1,2,3,4]) >> also yyy[:,0,0] = array([6,7,8]), whereas I would expect yyy[0,:,0] = >> array([6,7,8]) >> So what's going on? This seems like a bug to me. >> Any suggestions for getting what I wanted -- i.e. xxx.shape = (2,3,4), >> with values as appropriate? >> > > This is documented in the `Notes` section concerning the behavior with the > default `indexing='xy'`, which is primarily for 2D arrays (and presumably > following a convention from another language like MATLAB). In order to get > the (2, 3, 4) arrays that you want, use `indexing='ij'` > > # Note the flipped order of inputs and outputs since you want the `zt` > values across the first axis. > zzz, yyy, xxx = np.meshgrid(zt, yt, xt, indexing='ij') > > > -- > Robert Kern >
_______________________________________________ NumPy-Discussion mailing list -- numpy-discussion@python.org To unsubscribe send an email to numpy-discussion-le...@python.org https://mail.python.org/mailman3/lists/numpy-discussion.python.org/ Member address: arch...@mail-archive.com