亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python+matplotlib實(shí)現(xiàn)量場(chǎng)圖的繪制

 更新時(shí)間:2021年12月01日 15:06:16   作者:編程簡(jiǎn)單學(xué)  
matplotlib是基于Python語(yǔ)言的開源項(xiàng)目,pyplot提供一系列繪制2D圖形的方法。本文將帶大家學(xué)習(xí)matplotlib.pyplot.quiver()相關(guān)方法屬性并通過(guò)其繪制量場(chǎng)圖

前言

matplotlib 是基于Python語(yǔ)言的開源項(xiàng)目,pyplot提供一系列繪制2D圖形的方法。隨著版本的迭代,matplotlib 模塊也支持繪制3D圖形mplot3d工具包,制作動(dòng)態(tài)圖Animation類,對(duì)于動(dòng)態(tài)圖的制作也可以使用pyplot交互模式進(jìn)行繪制,提供image類對(duì)圖像進(jìn)行加載、縮放及顯示操作。

往期內(nèi)容速看

Python利用 matplotlib 繪制直方圖

Python用 matplotlib 繪制柱狀圖

Python?matplotlib?繪制散點(diǎn)圖詳解建議收藏

matplot pyplot 提供繪制折線、柱狀、散點(diǎn)、餅、直方、圖形等方法,pyplot 也提供繪制特殊的圖形,常見于物理磁場(chǎng)圖、箱型形圖、提琴圖等

本期,我們將學(xué)習(xí)matplotlib.pyplot.quiver()相關(guān)方法屬性學(xué)習(xí),let's go~

1. 量場(chǎng)圖概述

什么是量場(chǎng)圖?

  • 量場(chǎng)圖又名振動(dòng)圖、量場(chǎng)圖。使用一組矢量箭頭進(jìn)行表示
  • 量場(chǎng)圖表示一個(gè)向量對(duì)應(yīng)另一個(gè)向量
  • 形成場(chǎng)的量為向量,稱為向量場(chǎng)

量場(chǎng)圖使用場(chǎng)景

  • 量場(chǎng)圖通常使用在物理學(xué)中如電磁場(chǎng)表示
  • 量場(chǎng)圖也用于地磁圖繪制根據(jù)各地磁臺(tái)的觀測(cè)的數(shù)據(jù)進(jìn)行繪制表示
  • 在物理中常用的向量場(chǎng)有風(fēng)場(chǎng)、引力場(chǎng)、電磁場(chǎng)、水流場(chǎng)等

繪制量場(chǎng)圖方法

import matplotlib.pyplot as plt
 
plt.quiver()

2. 量場(chǎng)圖屬性

設(shè)置顏色

向量顏色關(guān)鍵字:color or facecolor

當(dāng)facecolor與color同時(shí)設(shè)置時(shí),會(huì)優(yōu)先f(wàn)acecolor

取值范圍

  • 表示顏色的英文單詞:如紅色"red"
  • 表示顏色單詞的簡(jiǎn)稱如:紅色"r",黃色"y"
  • RGB格式:十六進(jìn)制格式如"#88c999";(r,g,b)元組形式
  • 也可以傳入顏色列表

設(shè)置透明度

關(guān)鍵字:alpha

取值為0~1

設(shè)置向量箭頭尺寸

關(guān)鍵字:units

默認(rèn)值為:width

可取值有:{'width', 'height', 'dots', 'inches', 'x', 'y', 'xy'}

  • width,height:代表軸的寬度、軸的高度
  • dots,inches: 基于圖形dpi的像素或者英寸
  • x,y,xy:x,y或者(x^2+y^2)的平方根的數(shù)據(jù)

設(shè)置坐標(biāo)中向量箭頭位置

關(guān)鍵字:pivot

默認(rèn)值為:tail

可以取值:{'tail', 'mid', 'middle', 'tip'}

設(shè)置向量箭頭寬度

關(guān)鍵字:width

默認(rèn)值為:0.005

取值為類型為:浮點(diǎn)型

3. 繪制量場(chǎng)圖步驟

我們?cè)诶L制量場(chǎng)圖時(shí),同樣需要使用matplotlib.pyplot,因此我們來(lái)看一下繪制量場(chǎng)步驟

導(dǎo)入matplotlib.pyplot類

import matplotlib.pyplot as plt

使用numpy庫(kù)里的arange(),random(),sin(),cos()等方法準(zhǔn)備x,y軸數(shù)據(jù)

x = np.arange(-10,10,1)
y = np.arange(-10,10,1)

調(diào)用numpy.meshgrid()方法生成二維網(wǎng)格坐標(biāo)

u,v = np.meshgrid(x,y)

調(diào)用pyplot.quiver(x,y,u,v,c)繪制量場(chǎng)圖

plt.quiver(x,y,u,v,alpha=0.4)
參數(shù) 說(shuō)明
x 一維、二維數(shù)組或者序列,表示箭頭位置的x坐標(biāo)
y 一維、二維數(shù)組或者序列,表示箭頭位置的y坐標(biāo)
u 一維、二維數(shù)組或者序列,表示箭頭向量的x分量
v 一維、二維數(shù)組或者序列,表示箭頭向量的y分量
c 一維、二維數(shù)組或者序列,表示箭頭顏色

調(diào)用pyplot.show()渲染顯示圖標(biāo)

plt.show()

4. 小試牛刀

我們學(xué)習(xí)以上繪制量場(chǎng)圖的方法,我們來(lái)繪制一個(gè)高中物理中場(chǎng)景的電磁場(chǎng)圖

調(diào)用numpy.meshgrid()方法對(duì)x,y軸數(shù)據(jù)生成二維列表

調(diào)用numpy.gradient()對(duì)u,v生成梯度數(shù)據(jù)

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()
復(fù)制代碼

總結(jié)

本期,我們對(duì)matplotlib.pyplot 繪制量場(chǎng)圖方法quiver()相關(guān)屬性進(jìn)行學(xué)習(xí)。量場(chǎng)圖常用在地質(zhì)研究、電磁場(chǎng)等向量場(chǎng)景中。?

到此這篇關(guān)于Python+matplotlib實(shí)現(xiàn)量場(chǎng)圖的繪制的文章就介紹到這了,更多相關(guān)Python matplotlib繪制量場(chǎng)圖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論