中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python怎么調用Matplotlib繪制振動圖、箱型圖和提琴圖

發布時間:2021-12-02 15:45:00 來源:億速云 閱讀:274 作者:iii 欄目:開發技術

本篇內容介紹了“Python怎么調用Matplotlib繪制振動圖、箱型圖和提琴圖”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

Matplotlib介紹

Matplotlib 是一款用于數據可視化的 Python 軟件包,支持跨平臺運行,它能夠根據 NumPy  ndarray 數組來繪制 2D 圖像,它使用簡單、代碼清晰易懂,深受廣大技術愛好者喜愛。

NumPy 是 Python 科學計算的軟件包,ndarray 則是 NumPy 提供的一種數組結構。

Matplotlib 由 John D. Hunter 在 2002 年開始編寫, 2003 年 Matplotlib 發布了第一個版本,并加入了 BSD 開源軟件組織。Matplotlib 1.4 是最后一個支持 Python 2 的版本,它的最新版本 3.1.1 已于 2019 年 7 月 1 日發布。

Matplotlib 提供了一個套面向繪圖對象編程的 API 接口,能夠很輕松地實現各種圖像的繪制,并且它可以配合 Python GUI 工具(如 PyQt、Tkinter 等)在應用程序中嵌入圖形。同時 Matplotlib 也支持以腳本的形式嵌入到 IPython shell、Jupyter 筆記本、web 應用服務器中使用。

振動圖

振動圖也叫磁場圖,或量場圖,其圖像的表現形式是一組矢量箭頭,其數學含義是在點 (x,y) 處具有分向量 (u,v)。

Matplotlib 提供繪制量場圖的函數,如下所示:

quiver(x,y,u,v)

上述函數表示,在指定的 (x,y) 坐標上以箭頭的形式繪制向量,參數說明如下:

參數說明
x一維、二維數組或者序列,表示箭頭位置的x坐標。
y一維、二維數組或者序列,表示箭頭位置的y坐標。
u一維、二維數組或者序列,表示箭頭向量的x分量。
v一維、二維數組或者序列,表示箭頭向量的y分量。
c一維、二維數組或者序列,表示箭頭顏色。

以下示例,繪制了一個簡單的振動圖:

import matplotlib.pyplot as plt
import numpy as np
x,y = np.meshgrid(np.arange(-2, 2, 0.2), np.arange(-2, 2, 0.25))
z = x*np.exp(-x**2 - y**2)
#計算數組中元素的梯度
v, u = np.gradient(z, 0.2, 0.2)
fig, ax = plt.subplots()
q = ax.quiver(x,y,u,v)
plt.show()

上述代碼執行后,輸出結果如下:

Python怎么調用Matplotlib繪制振動圖、箱型圖和提琴圖

圖1:振動示例圖

箱型圖

箱型圖(也稱為盒須圖)于 1977 年由美國著名統計學家約翰·圖基(John Tukey)發明。它能顯示出一組數據的最大值、最小值、中位數、及上下四分位數。

在箱型圖中,我們從上四分位數到下四分位數繪制一個盒子,然后用一條垂直觸須(形象地稱為“盒須”)穿過盒子的中間。上垂線延伸至上邊緣(最大值),下垂線延伸至下邊緣(最小值)。箱型圖結構如下所示:

Python怎么調用Matplotlib繪制振動圖、箱型圖和提琴圖

圖1:箱型如結構圖

 首先準備創建箱型圖所需數據:您可以使用numpy.random.normal()函數來創建一組基于正態分布的隨機數據,該函數有三個參數,分別是正態分布的平均值、標準差以及期望值的數量。如下所示:

#利用隨機數種子使每次生成的隨機數相同
np.random.seed(10)
collectn_1 = np.random.normal(100, 10, 200)
collectn_2 = np.random.normal(80, 30, 200)
collectn_3 = np.random.normal(90, 20, 200)
collectn_4 = np.random.normal(70, 25, 200)
data_to_plot=[collectn_1,collectn_2,collectn_3,collectn_4]

然后用 data_to_plot 變量指定創建箱型圖所需的數據序列,最后用 boxplot() 函數繪制箱型圖,如下所示:

fig = plt.figure()
#創建繪圖區域
ax = fig.add_axes([0,0,1,1])
#創建箱型圖
bp = ax.boxplot(data_to_plot)
plt.show()

上述代碼執行后,輸出結果如下:

Python怎么調用Matplotlib繪制振動圖、箱型圖和提琴圖

圖2:箱型圖輸出結果

提琴圖

小提琴圖(Violin Plot)是用來展示數據分布狀態以及概率密度的圖表。這種圖表結合了箱形圖和密度圖的特征。小提琴圖跟箱形圖類似,不同之處在于小提琴圖還顯示數據在不同數值下的概率密度。

小提琴圖使用核密度估計(KDE)來計算樣本的分布情況,圖中要素包括了中位數、四分位間距以及置信區間。在數據量非常大且不方便一一展示的時候,小提琴圖特別適用。

概率密度估計、置信區間、四分位間距都屬于統計學中的概念,可自行查閱,這里不做說明。

小提琴圖比箱型圖能提供了更多的信息。雖然箱型圖顯示了均值、中位數和上、下四分位數等統計信息,但是小提琴圖卻顯示了數據的完整分布情況,這更利于數據的分析與比對。下面是小提琴圖的使用示例:

import matplotlib.pyplot as plt
np.random.seed(10)
collectn_1 = np.random.normal(100, 10, 200)
collectn_2 = np.random.normal(80, 30, 200)
collectn_3 = np.random.normal(90, 20, 200)
collectn_4 = np.random.normal(70, 25, 200)
#創建繪制小提琴圖的數據序列
data_to_plot = [collectn_1, collectn_2, collectn_3, collectn_4]
#創建一個畫布
fig = plt.figure()
#創建一個繪圖區域
ax = fig.add_axes([0,0,1,1])
# 創建一個小提琴圖
bp = ax.violinplot(data_to_plot)
plt.show()

輸出結果如下:

Python怎么調用Matplotlib繪制振動圖、箱型圖和提琴圖

圖1:小提琴圖繪制

“Python怎么調用Matplotlib繪制振動圖、箱型圖和提琴圖”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

泗洪县| 望江县| 华宁县| 山阳县| 洪湖市| 苏尼特左旗| 罗田县| 藁城市| 永丰县| 浦东新区| 仪陇县| 建始县| 峨山| 独山县| 乌兰浩特市| 海淀区| 太康县| 聂荣县| 舟曲县| 清涧县| 富宁县| 柘荣县| 开封县| 墨竹工卡县| 武冈市| 兴安盟| 襄城县| 湾仔区| 永宁县| 洞口县| 涪陵区| 灵川县| 偃师市| 绩溪县| 甘孜县| 望城县| 扶风县| 临澧县| 祁门县| 资阳市| 大城县|