2016-10-01 13 views
0

나는 네 3 * 3 행렬이 있습니다벡터 필드에 벡터의 4 개 메트릭 좌표를 켜기

X1=[[2.276840271621883, 2.329662596474333, 2.3633290819729527], [2.276840271621883, 2.329662596474333, 2.3633290819729527], [2.276840271621883, 2.329662596474333, 2.3633290819729527]] 
X2=[[2.2698145746531786, 2.3308266405107805, 2.3594316100497643], [2.2698145746531786, 2.3308266405107805, 2.3594316100497643], [2.2698145746531786, 2.3308266405107805, 2.3594316100497643]] 
Y1=[[48.832151066337865, 48.84935494957576, 48.86990145209316], [48.832151066337865, 48.84935494957576, 48.86990145209316], [48.832151066337865, 48.84935494957576, 48.86990145209316]] 
Y2=[[48.83251302946139, 48.85024866127781, 48.86928223168673], [48.83251302946139, 48.85024866127781, 48.86928223168673], [48.83251302946139, 48.85024866127781, 48.86928223168673]] 

나는 내가 가지고있는

(X1[i][j],Y1[i][j]) to (X2[i][j],Y2[i][j]) 
these are coordinates 

에서가는 9 벡터를 포함하는 벡터 필드를 만들 싶습니다을 떨림을 사용하여 시도했지만 치수 문제가 있습니다. 이 점 Pi = (X1i, Y1i)에서 시작하여 점 Qi = (X2i, Y2i)에서 "종료"하기 matplotlib의 quiver 기능을 사용하여 화살표의 집합을 플롯 할 때

+0

수 :이 그림 결과

plt.plot(X1.ravel(), Y1.ravel(), 'ro ') plt.plot(X2.ravel(), Y2.ravel(), 'bx ') 

당신은 예상되는 출력의 예를 들어 줄 수 있습니까? 지금은 문제가 명확하게 밝혀지지 않았습니다. 추신 : 예를 들자면, 수레를 사용하지 않도록하십시오. 기호 변수 또는 단순한 정수로 예제를 제공하십시오. –

+0

나는 그 안에 벡터가 들어있는 2D 그래프를 가지고 싶습니다. (벡터의 좌표는 포스트에 명시된대로 정의됩니다.) 1에서 3으로 가고 j는 1에서 3으로갑니다 : 예를 들어 떨림 스타일 벡터 필드. –

+0

좋아, 이제 이해해. 각 행렬의 행이 동일하기 때문에 제공 한 행렬은 1 등급이므로 9 개의 화살표가 표시 되더라도 제공된 화살표를 볼 수는 있습니다. 그려진다. –

답변

0

, 당신은 다음과 같이 quiver를 호출 다음에

# creating demo data 
X1, X2, Y1, Y2 = [ np.random.random_integers(0, 9, (2,2)) for _ in range(4) ] 
plt.quiver(X1, Y1, (X2 - X1), (Y2 - Y1), angles='xy', scale=1, scale_units='xy') 

공지 사항 추가 인수 quiver으로 전화하십시오. 이렇게하면 제공된 데이터 좌표에서 화살표가 시작되고 끝나게됩니다. X1 및 여기에 정의 된 다른 3 개의 변수의 모양은 이 2-D 배열로 작업 할 수 있음을 나타 내기 위해 수행 된 (2, 2)입니다. 당신의 모양에 맞게 모양을 (3, 3)으로 만들 수 있습니다.

시각화 목적

및 포인트 더 명확하게하기 위해, 나는 시작과 끝 일부 마커를 추가 한 좌표

quiver arrows from begin to end coordinates

+0

문제는 X1, X2, Y1, Y2에 대해 list를 사용할 때 : - : 'list'및 'list'에 대해 지원되지 않는 피연산자 유형이 있다고합니다. 목록/행렬을 떨림 방지로 변환하려면 어떻게합니까? –

+0

@ElliottOhayon은 목록을 numpy 배열로 변환합니다. 여기서는 여기에 표시된 떨림 호출에서 사용되는 요소 단위 뺄셈을 수행 할 수 있습니다. 목록에서 목록을 빼면 설명하는 오류가 발생하지만 numpy 배열에서는 그렇지 않습니다. –