您好,登錄后才能下訂單哦!
這篇文章主要介紹“Python+matplotlib如何實現量場圖的繪制”,在日常操作中,相信很多人在Python+matplotlib如何實現量場圖的繪制問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Python+matplotlib如何實現量場圖的繪制”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
量場圖又名振動圖、量場圖。使用一組矢量箭頭進行表示
量場圖表示一個向量對應另一個向量
形成場的量為向量,稱為向量場
量場圖通常使用在物理學中如電磁場表示
量場圖也用于地磁圖繪制根據各地磁臺的觀測的數據進行繪制表示
在物理中常用的向量場有風場、引力場、電磁場、水流場等
import matplotlib.pyplot as plt plt.quiver()
向量顏色關鍵字:color or facecolor
當facecolor與color同時設置時,會優先facecolor
取值范圍
表示顏色的英文單詞:如紅色"red"
表示顏色單詞的簡稱如:紅色"r",黃色"y"
RGB格式:十六進制格式如"#88c999";(r,g,b)元組形式
也可以傳入顏色列表
關鍵字:alpha
取值為0~1
關鍵字:units
默認值為:width
可取值有:{'width', 'height', 'dots', 'inches', 'x', 'y', 'xy'}
width,height:代表軸的寬度、軸的高度
dots,inches: 基于圖形dpi的像素或者英寸
x,y,xy:x,y或者(x^2+y^2)的平方根的數據
關鍵字:pivot
默認值為:tail
可以取值:{'tail', 'mid', 'middle', 'tip'}
關鍵字:width
默認值為:0.005
取值為類型為:浮點型
我們在繪制量場圖時,同樣需要使用matplotlib.pyplot,因此我們來看一下繪制量場步驟
導入matplotlib.pyplot類
import matplotlib.pyplot as plt
使用numpy庫里的arange(),random(),sin(),cos()等方法準備x,y軸數據
x = np.arange(-10,10,1) y = np.arange(-10,10,1)
調用numpy.meshgrid()方法生成二維網格坐標
u,v = np.meshgrid(x,y)
調用pyplot.quiver(x,y,u,v,c)繪制量場圖
plt.quiver(x,y,u,v,alpha=0.4)
參數 | 說明 |
---|---|
x | 一維、二維數組或者序列,表示箭頭位置的x坐標 |
y | 一維、二維數組或者序列,表示箭頭位置的y坐標 |
u | 一維、二維數組或者序列,表示箭頭向量的x分量 |
v | 一維、二維數組或者序列,表示箭頭向量的y分量 |
c | 一維、二維數組或者序列,表示箭頭顏色 |
調用pyplot.show()渲染顯示圖標
plt.show()
我們學習以上繪制量場圖的方法,我們來繪制一個高中物理中場景的電磁場圖
調用numpy.meshgrid()方法對x,y軸數據生成二維列表
調用numpy.gradient()對u,v生成梯度數據
a = np.arange(-2,2,0.2) b = np.arange(-2,2,0.25) x,y = np.meshgrid(a,b) z = x*np.exp(-x**2-y**2) v,u = np.gradient(z,0.2,0.2) plt.quiver(x,y,u,v,color="pink",pivot="tip",units="inches") plt.scatter(x,y,color="b",s=0.05) plt.show()
到此,關于“Python+matplotlib如何實現量場圖的繪制”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。