2013-06-17 9 views
0

방금 ​​Python으로 시작 했으므로이 예제를 MATLAB에서 Python으로 변환 하겠지만 파이썬에서 이에 상응하는 것을 찾지 못했습니다.MATLAB에서 Python에 이르기까지

https://www.mathworks.com/help/matlab/ref/surface.html

load clown 
surface(peaks,flipud(X),... 
    'FaceColor','texturemap',... 
    'EdgeColor','none',... 
    'CDataMapping','direct') 
colormap(map) 
view(-35,45) 

감사합니다!

+1

은 당신이 할 수있는 패키지 주위를 둘러 보았다 적이 ... 어떤'표면()'합니까? –

+0

http://scipy-lectures.github.io/intro/matplotlib/matplotlib.html – YXD

+1

아마도 '로드 광대'를 건너 뛸 수 있습니다. – Shai

답변

2

Matplotlib은 Matlab이 제공하는 거의 모든 플로팅 옵션을 제공합니다. 표면도 또한 수행 될 수 있습니다 :

이미지를로드하려면 scipy에는 matplotlib 호환 numpy 어레이를로드하는 PIL-wrapper (미안 기 포함, 미안)가 있습니다.

요약하면 numpy, scipy, matplotlib 및 PIL 패키지가 필요합니다. 이 4 개의 라이브러리를 조합하면 필요한 모든 것을 제공해야합니다. 또한 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() 
+0

이것은 있습니다! 감사합니다! – user2492523