Matplotlib предлагает почти все варианты построения графика Matlab. Возможны также поверхностные графики: http://matplotlib.org/mpl_toolkits/mplot3d/tutorial.html#surface-plots
Для загрузки изображений scipy имеет PIL-обертку (без клоуна, извините), которая загружает Matplotlib-совместимые массивы numpy.
Подводя итоги, вы хотите получить следующие пакеты: numpy, scipy, matplotlib и PIL. Сочетание этих четырех библиотек должно дать вам все, что вам нужно. Также проверьте интерфейс pylab этих библиотек, так как он очень похож на Matlab.
Пример, который делает то, что я считаю, что вы хотите сделать:
from mpl_toolkits.mplot3d import Axes3D
from scipy.misc import imread
from matplotlib.pyplot import figure, show
from numpy import linspace, meshgrid, sqrt, sin, mean, flipud
clown = imread('clown.png')
fig = figure()
ax = fig.gca(projection='3d')
X = linspace(-5, 5, clown.shape[0])
Y = linspace(-5, 5, clown.shape[1])
X, Y = meshgrid(X, Y)
R = sqrt(X**2 + Y**2)
Z = sin(R)
clown = clown.swapaxes(0,1)/255. # meshgrid orients axes the other way around, scaling of rgb to [0-1]
ax.plot_surface(X, Y, Z, facecolors=flipud(clown))
ax.view_init(45,-35) # swapped wrt matlab
show()
Вы смотрели вокруг для пакетов, которые могут сделать ... независимо от 'поверхности()' делает? –
http://scipy-lectures.github.io/intro/matplotlib/matplotlib.html – YXD
Возможно, вы можете пропустить 'load clown' ... – Shai