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

使用python繪制3維正態(tài)分布圖的方法

 更新時(shí)間:2018年12月29日 10:32:38   作者:liangyhgood  
今天小編就為大家分享一篇使用python繪制3維正態(tài)分布圖的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

今天使用python畫(huà)了幾個(gè)好玩的3D展示圖,現(xiàn)在分享給大家。

先貼上圖片

python繪制3維正態(tài)分布圖

python繪制3維正態(tài)分布圖

python繪制3維正態(tài)分布圖

使用的python工具包為:

from matplotlib import pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D

在貼代碼之前,有必要從整體上了解這些圖是如何畫(huà)出來(lái)的。可以把上面每一個(gè)3D圖片理解成一個(gè)長(zhǎng)方體。輸入數(shù)據(jù)是三維的,x軸y軸和z軸。在第三個(gè)圖片里面有x、y和z坐標(biāo)的標(biāo)識(shí)。在第三張圖片中,我們可以理解為,z是隨著x和y變化的函數(shù)。就像一個(gè)人在山丘地區(qū)走動(dòng)一樣,其中x和y表示的是方向,z表示的這個(gè)人在上坡還是下坡。第二張圖片的中間那個(gè),其實(shí)是一個(gè)3維的正態(tài)分布圖。

具體的公式為:

python繪制3維正態(tài)分布圖

上面的是2維的,即只有x和y,如果是三維的話,需要一點(diǎn)變形,只需要在上面的公式基礎(chǔ)之上把exp()里面改變?yōu)椋篹xp(-((x-u)^2 + (y - u)^2)/(2q^2)), 這里的u表示平均值,q表示標(biāo)準(zhǔn)差。這樣變化之后,z = f(x, y)。這就是z值的公式了,表示的是z值隨著x和y值的變化而變化的函數(shù)。

下面貼一下代碼

這是第二張圖片的代碼。

from matplotlib import pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D

fig = plt.figure()
ax = Axes3D(fig)
len = 8;
step = 0.4;


def build_layer(z_value):
 x = np.arange(-len, len, step);
 y = np.arange(-len, len, step);
 z1 = np.full(x.size, z_value/2)
 z2 = np.full(x.size, z_value/2)
 z1, z2 = np.meshgrid(z1, z2)
 z = z1 + z2;

 x, y = np.meshgrid(x, y)
 return (x, y, z);

def build_gaussian_layer(mean, standard_deviation):
 x = np.arange(-len, len, step);
 y = np.arange(-len, len, step);
 x, y = np.meshgrid(x, y);
 z = np.exp(-((y-mean)**2 + (x - mean)**2)/(2*(standard_deviation**2)))
 z = z/(np.sqrt(2*np.pi)*standard_deviation);
 return (x, y, z);

# 具體函數(shù)方法可用 help(function) 查看,如:help(ax.plot_surface)
x1, y1, z1 = build_layer(0.2);
ax.plot_surface(x1, y1, z1, rstride=1, cstride=1, color='green')

x5, y5, z5 = build_layer(0.15);
ax.plot_surface(x5, y5, z5, rstride=1, cstride=1, color='pink')

# x2, y2, z2 = build_layer(-0.26);
# ax.plot_surface(x2, y2, z2, rstride=1, cstride=1, color='yellow')
#
# x6, y6, z6 = build_layer(-0.22);
# ax.plot_surface(x6, y6, z6, rstride=1, cstride=1, color='pink')

# x4, y4, z4 = build_layer(0);
# ax.plot_surface(x4, y4, z4, rstride=1, cstride=1, color='purple')

x3, y3, z3 = build_gaussian_layer(0, 1)
ax.plot_surface(x3, y3, z3, rstride=1, cstride=1, cmap='rainbow')
plt.show()


這是第三張圖片的代碼

import numpy as np
import matplotlib.pyplot as plt
import mpl_toolkits.mplot3d

x, y = np.mgrid[-1:1:20j, -1:1:20j]
z = x * np.exp(-x ** 2 - y ** 2)

ax = plt.subplot(111, projection='3d')
ax.plot_surface(x, y, z, rstride=2, cstride=1, cmap=plt.cm.coolwarm, alpha=0.8)
ax.set_xlabel('x')
ax.set_ylabel('y')
ax.set_zlabel('z')

plt.show()

以上這篇使用python繪制3維正態(tài)分布圖的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python實(shí)現(xiàn)PDF轉(zhuǎn)為Excel的示例講解

    Python實(shí)現(xiàn)PDF轉(zhuǎn)為Excel的示例講解

    這篇文章主要為大家詳細(xì)介紹了在Python中將PDF表格轉(zhuǎn)換為Excel文件的解決方案,文中的示例代碼簡(jiǎn)潔易懂,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-11-11
  • Python實(shí)現(xiàn)iOS自動(dòng)化打包詳解步驟

    Python實(shí)現(xiàn)iOS自動(dòng)化打包詳解步驟

    這篇文章主要介紹了Python實(shí)現(xiàn)iOS自動(dòng)化打包詳解步驟,文中通過(guò)示例代碼以及圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-10-10
  • python畫(huà)圖中文不顯示問(wèn)題的解決方法

    python畫(huà)圖中文不顯示問(wèn)題的解決方法

    python中繪圖時(shí)如果標(biāo)簽或者標(biāo)題是中文,最后繪出來(lái)的圖中的文字會(huì)被方框替代,下面這篇文章主要給大家介紹了關(guān)于python畫(huà)圖中文不顯示問(wèn)題的解決方法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • 使用pyscript在網(wǎng)頁(yè)中撰寫Python程式的方法

    使用pyscript在網(wǎng)頁(yè)中撰寫Python程式的方法

    本文主要介紹了使用pyscript在網(wǎng)頁(yè)中撰寫Python程式的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • 解決pyinstaller打包exe可執(zhí)行文件后運(yùn)行找不到pandas或者XXX模塊

    解決pyinstaller打包exe可執(zhí)行文件后運(yùn)行找不到pandas或者XXX模塊

    這篇文章主要介紹了解決pyinstaller打包exe可執(zhí)行文件后運(yùn)行找不到pandas或者XXX模塊問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Python自動(dòng)化辦公之Word文檔的創(chuàng)建與生成

    Python自動(dòng)化辦公之Word文檔的創(chuàng)建與生成

    這篇文章主要為大家詳細(xì)介紹了如何通過(guò)python腳本來(lái)自動(dòng)生成一個(gè)?word文檔,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-05-05
  • Python Excel處理庫(kù)openpyxl詳解

    Python Excel處理庫(kù)openpyxl詳解

    這篇文章主要介紹了Python Excel處理庫(kù)openpyxl詳解,需要的朋友可以參考下
    2021-05-05
  • 深入解析Python中的__builtins__內(nèi)建對(duì)象

    深入解析Python中的__builtins__內(nèi)建對(duì)象

    __builtins__ 是內(nèi)建模塊__builtin__中的對(duì)象,使用Python中的內(nèi)建函數(shù)時(shí)會(huì)通過(guò)__builtins__引導(dǎo),這里我們就來(lái)深入解析Python中的__builtins__內(nèi)建對(duì)象,需要的朋友可以參考下
    2016-06-06
  • Python實(shí)現(xiàn)k-means算法

    Python實(shí)現(xiàn)k-means算法

    這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)k-means算法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • Python?二分查找之bisect庫(kù)的使用詳解

    Python?二分查找之bisect庫(kù)的使用詳解

    。二分查找是一種在有序列表中查找某一特定元素的搜索算法,bisect?庫(kù)是?Python?標(biāo)準(zhǔn)庫(kù)中的一部分,它提供了二分查找的功能,這篇文章主要介紹了Python?二分查找之bisect庫(kù)的使用,需要的朋友可以參考下
    2023-03-03

最新評(píng)論