2014-06-30 2 views
1

나는 데이터 피를 가지고 있고, 나는 pcolormesh로 음모를 꾸미고 싶다. 내 첫 번째 방법이었다 :이상한 행동 : pcolormesh 및 meshgrid (쉬운)

plt.figure() 
plt.colormesh(phi) 
plt.show() 

생산되는 :

Without Cut

좋은. 지금은 그냥 축에게 조금 조정하려면, 그러므로 나는 meshgrid 사용 :

plt.figure() 
kk = np.arange(0,phi.shape[1]) 
gg = np.arange(-phi.shaoe[0]//2 +1 , phi.shape[0]//2 +1,1) 
GG, KK = np.meshgrid(gg,kk) 
plt.pcolormesh(KK,GG,phi.T) 
plt.show() 

를 지금은 다음 얻을 :에

with cut

당신은 분명히 볼 수 있듯이, 스트라이프 정상은 자른다 !! I 은 phi 함수를 변경하지 않았으므로이 동작을 설명 할 수 없습니다! 방금 축 데이터에 그리드를 추가했습니다! 어떤 종류의 버그이며 어떻게 해결할 수 있습니까?

추신 : 버그를 재현하려면 y 축과 평행 한 축에 대해 대칭 인 행렬을 사용하십시오.

답변

2

pcolor의 문서 : 이상적 http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.pcolor

X와 Y의 치수 C보다 커야 하나; 치수가 동일하면 C 의 마지막 행과 열은 무시됩니다.

그래서 당신은 또 하나의 행과 하나 더 열 두 개의 배열을 생성해야합니다

import pylab as pl 
import numpy as np 

phi = np.zeros((20, 30)) 
phi[0, :] = 1 
phi[-1, :] = 2 

kk = np.arange(0,phi.shape[1]+1) 
gg = np.arange(-phi.shape[0]//2 +1 , phi.shape[0]//2 + 2) 
GG, KK = np.meshgrid(gg,kk) 
pl.pcolormesh(KK,GG,phi.T) 
+0

감사합니다, 나는 다큐멘터리에서이 감독해야합니다! – varantir