欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python繪制箭頭向量圖的示例代碼

 更新時間:2023年08月07日 09:43:59   作者:微小冷  
箭頭向量圖十分常見,比如天氣預報在顯示風場的時候,就會貼心地用箭頭指明風的方向,下面就跟隨小編一起學習一下如何利用Python繪制箭頭向量圖吧

簡介

箭頭向量圖十分常見,比如天氣預報在顯示風場的時候,就會貼心地用箭頭指明風的方向。在matplotlib中,用 quiver 函數(shù)來繪制箭頭向量圖,示例如下

import matplotlib.pyplot as plt
import numpy as np
X = np.arange(-2, 2, 0.2)
Y = np.arange(-1, 1, 0.2)
U, V = np.meshgrid(X, Y)
fig = plt.figure(figsize=(6,3))
plt.quiver(X, Y, U, V)
plt.tight_layout()
plt.show()

這個圖需要4組變量,分別是X,Y,U,V,其中X,Y可以理解為坐標起點,U,V則是向量在X和Y方向的強度。

這個繪圖函數(shù)雖然簡潔,但其實有個問題,即X和Y都是一維數(shù)組,而在繪制quiver的時候,卻自轉(zhuǎn)換成了二維數(shù)組,否則圖像上不可能有這么多的點,更不能和U,V一一對應,可見在quiver圖中,U,V參數(shù)顯然更重要一些。實際上也是如此,如果省略X,Y參數(shù),那么得到的圖像將建立自然計數(shù)坐標系,

fig = plt.figure(figsize=(6,3))
plt.quiver(U, V)
plt.tight_layout()
plt.show()

箭頭設置

箭頭向量圖的特點幾乎都在箭頭這了,如果沒有箭頭,那quiver和散點圖也就沒什么區(qū)別了。quiver函數(shù)可以定制箭頭的線寬、頭寬、頭長等信息,具體參數(shù)如下圖所示

在具體設置時,length通過U,V參數(shù)指定,width為絕對的寬度,一般比較小,剩下三個參數(shù)均是width的倍數(shù),是相對值。

另外,如果想給quiver圖上色,需要設置C后者color參數(shù)。

具體示例如下

C = np.sqrt(U**2+V**2)
style = dict(width=0.005, headwidth=8, headlength=6, headaxislength=4)
fig = plt.figure(figsize=(6,3))
plt.quiver(X, Y, U, V, C, **style)
plt.tight_layout()
plt.show()

繪圖結(jié)果如下

三維場圖

quiver函數(shù)只需添加一個三維坐標就可以無縫體驗三維場圖。下面假設空間中有三顆恒星,那么用場圖來表示這三顆恒星附近的引力指向。

萬有引力公式F=Gmm/r2?,簡單起見,讓三顆恒星的質(zhì)量都是1, G也取1,則其個方向分量可表示為

x, y, z = np.indices([5,5,5])/5
stars = np.random.rand(3, 3).reshape(-1,3)
u = v = w = 0   # 表示引力
for xi, yi, zi in stars:
    dx, dy, dz = xi-x, yi-y, zi-z
    dr = np.sqrt(dx**2+dy**2+dz**2)
    u += dx/dr**3
    v += dy/dr**3
    w += dz/dr**3
F = u**2 + v**2 + w**2
ax = plt.subplot(projection='3d')
ax.scatter(*stars.T, c='r')
style = dict(width=0.005, headwidth=8, headlength=6, headaxislength=4)
ax.quiver(x, y, z, u, v, w, length=0.1, normalize=True)
plt.tight_layout()
plt.show()

結(jié)果如下

到此這篇關于Python繪制箭頭向量圖的示例代碼的文章就介紹到這了,更多相關Python箭頭向量圖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Python concurrent.futures模塊使用實例

    Python concurrent.futures模塊使用實例

    這篇文章主要介紹了Python concurrent.futures模塊使用實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-12-12
  • Python+Django在windows下的開發(fā)環(huán)境配置圖解

    Python+Django在windows下的開發(fā)環(huán)境配置圖解

    Python+Django在windows下的開發(fā)環(huán)境配置圖解教程,需要的朋友可以參考下。
    2009-11-11
  • Linux 下 Python 實現(xiàn)按任意鍵退出的實現(xiàn)方法

    Linux 下 Python 實現(xiàn)按任意鍵退出的實現(xiàn)方法

    這篇文章主要介紹了Linux 下 Python 實現(xiàn)按任意鍵退出的實現(xiàn)方法的相關資料,本文介紹的非常詳細,具有參考借鑒價值,需要的朋友可以參考下
    2016-09-09
  • python 返回一個列表中第二大的數(shù)方法

    python 返回一個列表中第二大的數(shù)方法

    今天小編就為大家分享一篇python 返回一個列表中第二大的數(shù)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Pyinstaller打包工具的使用以及避坑

    Pyinstaller打包工具的使用以及避坑

    本文主要的是pyinstaller在windows下的基本使用和基礎避坑,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • pandas進行數(shù)據(jù)輸入和輸出的方法詳解

    pandas進行數(shù)據(jù)輸入和輸出的方法詳解

    這篇文章主要為大家詳細介紹了pandas進行數(shù)據(jù)輸入和輸出的方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • python sys,os,time模塊的使用(包括時間格式的各種轉(zhuǎn)換)

    python sys,os,time模塊的使用(包括時間格式的各種轉(zhuǎn)換)

    這篇文章主要介紹了python sys,os,time模塊的使用(包括時間格式的各種轉(zhuǎn)換),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • Python中用try-except-finally處理異常問題

    Python中用try-except-finally處理異常問題

    這篇文章主要介紹了Python中用try-except-finally處理異常問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Python中property屬性的用處詳解

    Python中property屬性的用處詳解

    這篇文章主要給大家介紹了關于Python中property屬性的相關資料,需簡單地說就是一個類里面的方法一旦被@property裝飾,就可以像調(diào)用屬性一樣地去調(diào)用這個方法,它能夠簡化調(diào)用者獲取數(shù)據(jù)的流程,而且不用擔心將屬性暴露出來,有人對其進行賦值操作,下面要的朋友可以參考下
    2022-04-04
  • 詳解Python中圖像邊緣檢測算法的實現(xiàn)

    詳解Python中圖像邊緣檢測算法的實現(xiàn)

    這篇文章主要為大家詳細介紹了python中圖像邊緣檢測算法的原理及實現(xiàn),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05

最新評論