0
하나의 떨림 음모에 두 개의 벡터 필드를 그려야합니다. 이미 작동 중입니다. 각 점에 대해 서로 다른 색의 벡터가 두 개 있습니다. 이제 문제는 스케일링이 동일하지 않다는 것입니다. 첫 번째 필드 (sol
)의 벡터 (1,0)가 필드 2의 (1,0)으로 다른 길이로 표시됩니다 (res
).python pyplot.quiver : 두 개의 중첩 된 벡터 필드의 크기 조절
떨림을의 (1,0)에서 (1,0)을 sol
으로 할 수 있도록 양쪽 필드를 같은 배율로 플롯하도록하려면 어떻게해야합니까?
내 코드 :
import numpy as np
from matplotlib import pyplot as plt
#res and sol are two vector fields with dimension (ny, nx ,2)
step=3 #not all vectors should be plotted. Just every third one (in x and y direction)
X,Y = np.meshgrid(np.arange(0,nx,step), np.arange(0,ny,step))
Q=plt.quiver(X,Y,sol[::step,::step,0], sol[::step,::step,1], color='r')
W=plt.quiver(X,Y,res[::step,::step,0], res[::step,::step,1], color='b')
plt.quiverkey(Q, 0.4, 0.15, 1, r'text1', labelpos='S')
plt.quiverkey(W, 0.6, 0.15, 1, r'text2', labelpos='S')
plt.show()
환영합니다! 좀 더 명확하게 할 수 있습니까? 코드 스 니펫에는 정의되지 않은 값이 있습니다 (self.field_size_x, self.field_size_y, step, sol 및 res). 또한, arange 함수는 스테핑 (arange (self.field_size_x) [:: step] 및 arange (0, self.field_size_x, 2)가 동일 함) 옵션을 제공합니다. – Emilien