2016-09-27 32 views
0

不要求任何人爲我做這件事。不過,我想能夠創建沿此線的東西....對不起繪製它是不是最好的enter image description here如何獲取X軸和Y軸在matplotlib中看起來像這樣

目前我的代碼看起來像這樣:

import numpy as np 
import matplotlib.pyplot as plt 
plt.grid() 
plt.plot([0, 5 * np.cos(0)], [0, 5 * np.sin(0)]) 
plt.plot([0, -5 * np.cos(120)], [0, 5 * np.sin(120)]) 
plt.plot([0, 5 * np.cos(390)], [0, 5 * np.sin(390)]) 
plt.ylabel('Vectors') 
plt.show() 

這是我試圖用電腦繪圖的第一件事。我在大學裏有一個項目,我寧願用電腦繪製它,而不是手工繪製它,因爲我認爲它看起來很整潔。任何幫助或指針將不勝感激。

謝謝

回答

1

可以使用plt.arrow(x, y, dx, dy) -function這一點。它將在每個方向上形成一個從(x, y)跨越距離(dx, dy)的箭頭。下面是一些示例代碼,我寫了很長的一段代碼,但是當你明白如何使用它時,如果你願意,我相信你可以使它更緊湊。

import numpy as np 
import matplotlib.pyplot as plt 
plt.grid() 
x = 0 
y = 0 
dx = 5 * np.cos(0) 
dy = 5 * np.sin(0) 
plt.arrow(x, y, dx, dy, head_width=0.1, head_length=0.5, fc='b', ec='b') 

x = 0 
y = 0 
dx = 5 * np.cos(390) 
dy = 5 * np.sin(390) 
plt.arrow(x, y, dx, dy, head_width=0.1, head_length=0.5, fc='g', ec='g') 

x = 0 
y = 0 
dx = -5 * np.cos(120) 
dy = 5 * np.sin(120) 
plt.arrow(x, y, dx, dy, head_width=0.1, head_length=0.5, fc='r', ec='r') 
plt.ylabel('Vectors') 
plt.xlim(-5.5, 5.5) 
plt.ylim(-5.5, 5.5) 
plt.show() 
+1

感謝您抽出寶貴時間回覆本文,這些內容非常豐富,比我的文檔更有幫助:) –