I have three arrays of equal length x, y, and z. The x and y arrays are the x-axis and y-axis for the grid. The z array will determine the color of the the grid block. For example,
x = [10, 10, 10, 20, 20, 20, 30, 30, 30]
y = [10, 20, 30, 10, 20, 30, 10, 20, 30]
z = [100, 54, 32, 67, 71, 88, 100, 15, 29]
It is easy to make 3D plots out of this like
ax.plot_trisurf(x, y, z, cmap=cm.RdYlGn)
or
ax.bar3d(x, y, [0] * len(x), 100, 100, z, cmap=cm.RdYlGn)
But I am looking for something like this
np.meshgrid
returns a tuple of two 2D arrays, which you can unpack directlyHowever, you don't need to those for an imshow plot. What you need and what you lack in your code is the 2D array of
z
values. This would be the array to provide toimshow
.If you want to use meshgrid instead, you can use your
X
andY
values,Seeing the example data, you can use imshow: