簡體   English   中英

如何使用matplotlib繪制2d數學向量?

[英]How to plot 2d math vectors with matplotlib?

我們如何使用matplotlib繪制2D數學向量? 有沒有人有這方面的例子或建議?

我有幾個向量存儲為2D numpy數組,我想將它們繪制為有向邊。

要繪制的向量構造如下:

import numpy as np
# a list contains 3 vectors;
# each list is constructed as the tail and the head of the vector
a = np.array([[0, 0, 3, 2], [0, 0, 1, 1], [0, 0, 9, 9]]) 

編輯:

我剛剛為任何對輸出感興趣的人添加了tcaswell的最終答案圖,並想用matplotlib繪制2d向量: 在此輸入圖像描述

halex評論中的建議是正確的,你想使用quiver( doc ),但你需要稍微調整屬性。

import numpy as np
import matplotlib.pyplot as plt

soa = np.array([[0, 0, 3, 2], [0, 0, 1, 1], [0, 0, 9, 9]])
X, Y, U, V = zip(*soa)
plt.figure()
ax = plt.gca()
ax.quiver(X, Y, U, V, angles='xy', scale_units='xy', scale=1)
ax.set_xlim([-1, 10])
ax.set_ylim([-1, 10])
plt.draw()
plt.show()

這很簡單。 希望這個例子有幫助。

import matplotlib.pyplot as plt
import numpy as np
x = np.random.normal(10,5,100)
y = 3 + .5*x + np.random.normal(0,1,100)
myvec = np.array([x,y])
plt.plot(myvec[0,],myvec[1,],'ro')
plt.show()

會產生:

在此輸入圖像描述

要繪制數組,您可以將它們切片為1D向量並繪制它們。 我已經閱讀了所有不同選項的matplotlib的完整文檔。 但是你可以將numpy向量視為大多數示例的正常元組。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM