Suppose that I have a function which takes in 2 real numbers x,y
as input and outputs 2 real numbers w,z
, i.e., myfunc(x,y)=w,z
, so if I had a list of x,y
points, then I would also have a list of w,z
points. I want to be able to visualize this on plot. One way that I know how is to regard w,z
as a point in 2d space and calculate the angle theta
and intensity r
(convert to polar coordinates) and use scatter plot where I represent the angle theta
with a hue and intensity r
with luminous. The following would be a pseudo-code in python
w,z = myfunc(x,y)
theta, r = cartesian2polar(w,z)
cmap = matplotlib.cm.hsv
my_cmap = convert cmap so that theta corresponds to a hue and r is the luminous
plt.scatter(x,y,c=my_cmap)
The problem with this is that the scatter plot is relatively slow when I have many data points. Is there anyway else to implement this but much more quickly? Maybe by using imshow
, since my x,y
points are actually obtained from meshgrid
.
EDIT: I found this post, which does exactly what I need.