For some fun I am trying to plot a surface representation of 2D image where the height level corresponds to the intensity at each pixel. I have been able to change the cmap but would like to assign the original pixel colour values (Grayscale or RGB) to corresponding in the surface plot. Is this possible? To be honest, I not even sure if I have constructed the plot correctly.
Any help appreciated. Regards, Brickle. ---- ----- Surface Representation of 2D Image -------- from mpl_toolkits.mplot3d import axes3d import matplotlib.pyplot as plt from skimage import data, color import numpy as np from scipy import ndimage from matplotlib import cm image = color.rgb2gray(data.lena()) image = ndimage.gaussian_filter(image, 8) x = range(image.shape[0]) y = range(image.shape[1]) X,Y = np.meshgrid(x,y) # Is this the correct way? Z = image # Not sure if this is correct? fig = plt.figure() ax = fig.add_subplot(1,1,1, projection='3d') ax.plot_surface(X,Y,Z, cmap=cm.gray) plt.show() ---------------------------------------------- ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_sfd2d_oct _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users