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

Python調(diào)用Matplotlib繪制振動(dòng)圖、箱型圖和提琴圖

 更新時(shí)間:2021年12月02日 14:43:23   投稿:newname  
Matplotlib作為用于數(shù)據(jù)可視化的Python軟件包,能夠繪制多種2D圖像,它使用簡(jiǎn)單、代碼清晰易懂,深受廣大技術(shù)愛(ài)好者喜愛(ài)。本文主要介紹了通過(guò)?Matplotlib繪制振動(dòng)圖、箱型圖、提琴圖,需要的朋友可以參考一下

Matplotlib介紹

Matplotlib 是一款用于數(shù)據(jù)可視化的 Python 軟件包,支持跨平臺(tái)運(yùn)行,它能夠根據(jù) NumPy? ndarray 數(shù)組來(lái)繪制 2D 圖像,它使用簡(jiǎn)單、代碼清晰易懂,深受廣大技術(shù)愛(ài)好者喜愛(ài)。

NumPy 是 Python 科學(xué)計(jì)算的軟件包,ndarray 則是 NumPy 提供的一種數(shù)組結(jié)構(gòu)。

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

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

振動(dòng)圖

振動(dòng)圖也叫磁場(chǎng)圖,或量場(chǎng)圖,其圖像的表現(xiàn)形式是一組矢量箭頭,其數(shù)學(xué)含義是在點(diǎn) (x,y) 處具有分向量 (u,v)。

Matplotlib 提供繪制量場(chǎng)圖的函數(shù),如下所示:

quiver(x,y,u,v)

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

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

以下示例,繪制了一個(gè)簡(jiǎn)單的振動(dòng)圖:

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)
#計(jì)算數(shù)組中元素的梯度
v, u = np.gradient(z, 0.2, 0.2)
fig, ax = plt.subplots()
q = ax.quiver(x,y,u,v)
plt.show()

上述代碼執(zhí)行后,輸出結(jié)果如下:

圖1:振動(dòng)示例圖

箱型圖

箱型圖(也稱(chēng)為盒須圖)于 1977 年由美國(guó)著名統(tǒng)計(jì)學(xué)家約翰·圖基(John Tukey)發(fā)明。它能顯示出一組數(shù)據(jù)的最大值、最小值、中位數(shù)、及上下四分位數(shù)。

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

圖1:箱型如結(jié)構(gòu)圖

?首先準(zhǔn)備創(chuàng)建箱型圖所需數(shù)據(jù):您可以使用numpy.random.normal()函數(shù)來(lái)創(chuàng)建一組基于正態(tài)分布的隨機(jī)數(shù)據(jù),該函數(shù)有三個(gè)參數(shù),分別是正態(tài)分布的平均值、標(biāo)準(zhǔn)差以及期望值的數(shù)量。如下所示:

#利用隨機(jī)數(shù)種子使每次生成的隨機(jī)數(shù)相同
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 變量指定創(chuàng)建箱型圖所需的數(shù)據(jù)序列,最后用 boxplot() 函數(shù)繪制箱型圖,如下所示:

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

上述代碼執(zhí)行后,輸出結(jié)果如下:

圖2:箱型圖輸出結(jié)果

提琴圖

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

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

概率密度估計(jì)、置信區(qū)間、四分位間距都屬于統(tǒng)計(jì)學(xué)中的概念,可自行查閱,這里不做說(shuō)明。

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

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)
#創(chuàng)建繪制小提琴圖的數(shù)據(jù)序列
data_to_plot = [collectn_1, collectn_2, collectn_3, collectn_4]
#創(chuàng)建一個(gè)畫(huà)布
fig = plt.figure()
#創(chuàng)建一個(gè)繪圖區(qū)域
ax = fig.add_axes([0,0,1,1])
# 創(chuàng)建一個(gè)小提琴圖
bp = ax.violinplot(data_to_plot)
plt.show()

輸出結(jié)果如下:

圖1:小提琴圖繪制

以上就是Python調(diào)用Matplotlib繪制振動(dòng)圖、箱型圖和提琴圖的詳細(xì)內(nèi)容,更多關(guān)于Python Matplotlib繪制振動(dòng)圖 箱型圖 提琴圖的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 在Django的模型和公用函數(shù)中使用惰性翻譯對(duì)象

    在Django的模型和公用函數(shù)中使用惰性翻譯對(duì)象

    這篇文章主要介紹了在Django的模型和公用函數(shù)中使用惰性翻譯對(duì)象,Django是豐富多彩的Python框架中人氣最高的一個(gè),需要的朋友可以參考下
    2015-07-07
  • 淺談python 導(dǎo)入模塊和解決文件句柄找不到問(wèn)題

    淺談python 導(dǎo)入模塊和解決文件句柄找不到問(wèn)題

    今天小編就為大家分享一篇淺談python 導(dǎo)入模塊和解決文件句柄找不到問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • Pycharm常用快捷鍵總結(jié)及配置方法

    Pycharm常用快捷鍵總結(jié)及配置方法

    這篇文章主要介紹了Pycharm常用快捷鍵總結(jié)及配置方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • python 循環(huán)遍歷字典元素的簡(jiǎn)單方法

    python 循環(huán)遍歷字典元素的簡(jiǎn)單方法

    下面小編就為大家?guī)?lái)一篇python循環(huán)遍歷字典元素的簡(jiǎn)單方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-09-09
  • Django添加sitemap的方法示例

    Django添加sitemap的方法示例

    這篇文章主要介紹了Django添加sitemap的方法示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-08-08
  • python通過(guò)http下載文件的方法詳解

    python通過(guò)http下載文件的方法詳解

    這篇文章主要介紹了python通過(guò)http下載文件的方法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • Python使用Matplotlib繪制甘特圖的實(shí)踐

    Python使用Matplotlib繪制甘特圖的實(shí)踐

    甘特圖已經(jīng)發(fā)展成項(xiàng)目規(guī)劃和跟蹤的必備工具,本文主要介紹了Python使用Matplotlib繪制甘特圖的實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • python使用PyGame繪制圖像并保存為圖片文件的方法

    python使用PyGame繪制圖像并保存為圖片文件的方法

    這篇文章主要介紹了python使用PyGame繪制圖像并保存為圖片文件的方法,涉及Python使用PyGame操作圖片的相關(guān)技巧,需要的朋友可以參考下
    2015-04-04
  • 淺析Python函數(shù)式編程

    淺析Python函數(shù)式編程

    在本篇文章中我們給大家分享了關(guān)于Python函數(shù)式編程的相關(guān)知識(shí)點(diǎn)內(nèi)容,有興趣的朋友參考下。
    2018-10-10
  • PyQt5 實(shí)現(xiàn)給窗口設(shè)置背景圖片的方法

    PyQt5 實(shí)現(xiàn)給窗口設(shè)置背景圖片的方法

    今天小編就為大家分享一篇PyQt5 實(shí)現(xiàn)給窗口設(shè)置背景圖片的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-06-06

最新評(píng)論