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

Reply via email to