我是Python新手,需要一些幫助。這是問題:如何在Python中繪製多個用座標數組定義的矢量?
我用兩種不同的算法從圖像中提取了一些點源。由於 點是相同的,點的圖像座標應該是相同的,但算法適用於不同的函數,因此值接近但不完全相同。現在我需要在圖像大小的同一圖形中繪製矢量以顯示差異。我有四個數組。兩個分別保存用第一個算法(np.x1,np.y1)找到的點的x,y座標,另外兩個保存用第二個算法(np.x2,np.y2)找到的x,y值。
向量應該從x1,y1座標開始,然後轉到x2,y2座標。我可以得出只有一個向量(從np.x1 [0],np.y1 [0]至np.x2 [0],np.y2 [0])與該代碼:
import numpy as np
import matplotlib.pyplot as plt
np.x1=[1189.01,1185.0,1012.163,1873.221,194.2559]
np.y1=[14.45688,979.85659999999996,639.15629999999,249.173599999,67.10436]
np.x2=[1188.8416489474798,1184.843265982,1012.074063414,1873.077105230,194.30567379144]
np.y2=[14.855950959,980.058587129,639.232680302,249.412057655,67.3004825209]
soa = np.array([[np.x1[0]],[np.y1[0]],[np.x2[0]], np.y2[0]])
X, Y, U, V = zip(soa)
plt.figure()
ax = plt.gca()
ax.quiver(X, Y, U, V, angles='xy', scale_units='xy', scale=10,)
ax.set_xlim([0, 1472])
ax.set_ylim([0, 2184])
plt.draw()
plt.show()
並配有「而」循環,我可以繪製不同的圖形,但我怎麼能在同一個圖中繪製所有的矢量?或者你能建議一個更有效的方法來做到這一點?注意點x1 [i],y1 [i]和x2 [i],y2 [i]是相同的。
你可以編輯你的代碼示例,以便它的工作?如果他們可以簡單地複製/粘貼代碼並運行它,人們更可能會提供幫助。 – kazemakase
感謝您注意@kazemakase。我添加了座標的變量。如果有任何其他錯誤,請讓我知道。 – Burak
還編輯了語法錯誤。 – Burak