ThunderFlashxShanuLover ThunderFlashxShanuLover - 2 months ago 6x
Python Question

Redefining indexing in N-dimensional arrays

So I have a N-dimensional array of values, let's call it A. Now, I can plot this in a contour map, with coordinate axes X and Y, using


Now, I have to carry out a mapping of these points to another plane, so, basically another set of coordinates. Let the transformation be

X - X1
Y - X1

Now, each point with magnitude "I" in matrix A at (X,Y) is at (X- X1, Y - Y1). I can plot this using

plt.contourf(X-X1, Y-Y1,A)

My question is, how do I index the array A such that I obtain an array B where the indexing corresponds to X-X1 and Y-Y1 instead of X and Y so that I can plot it directly using the following




A friend helped me out with this. Seems to work perfectly.

 for ii in xrange(A.shape[1]):
        for jj in xrange(A.shape[0]):
            H = ii - alpha_x[jj,ii]
            J = jj - alpha_y[jj,ii]
            if H >= 0 and H<= A.shape[1] and J >= 0 and J <= A.shape[0]:
                B[J,H] = B[J,H] + A[jj,ii]