python繪制二維直方圖的代碼實(shí)現(xiàn)
hist+scatter
如果想描述二維數(shù)據(jù)的分布特征,那么一個(gè)直方圖顯然是不夠用的,為此可使用兩個(gè)直方圖分別代表x和y方向上的分布情況,同時(shí)透過散點(diǎn)圖查看其整體的分布特征。
下面創(chuàng)建一組二元高斯分布的數(shù)據(jù),用于直方圖測試。多元高斯分布的主要參數(shù)仍為期望和方差,但所謂多元分布,在坐標(biāo)層面的表現(xiàn)就是坐標(biāo)軸的個(gè)數(shù),也就是向量維度。所以N個(gè)元素對(duì)應(yīng)N維向量,也就有N個(gè)期望;而方差則進(jìn)化為了協(xié)方差矩陣
import numpy as np import matplotlib.pyplot as plt mean = [0, 0] cov = [[0, 1], [10, 0]] x, y = np.random.multivariate_normal(mean, cov, 5000).T
其中,x,y就是待統(tǒng)計(jì)的數(shù)據(jù)。
fig = plt.figure()
gs = fig.add_gridspec(2, 2,
width_ratios=(4, 1),
height_ratios=(1, 4))
ax = fig.add_subplot(gs[1, 0])
ax.scatter(x, y, marker='x') # 散點(diǎn)圖繪制
xHist = fig.add_subplot(gs[0, 0], sharex=ax)
xHist.tick_params(axis="x", labelbottom=False)
yHist = fig.add_subplot(gs[1, 1], sharey=ax)
yHist.tick_params(axis="y", labelleft=False)
binwidth = 0.25
lim = (int(np.max(np.abs([x,y]))/0.25) + 1) * 0.25
bins = np.arange(-lim, lim + binwidth, binwidth)
xHist.hist(x, bins=bins)
yHist.hist(y, bins=bins, orientation='horizontal')
plt.show()其中,tick_params用于取消直方圖左側(cè)和下面的坐標(biāo)刻度,效果如下

hist2d
相比之下,hist2d可以更加便捷地繪制直方圖,并以圖像的形式反饋回來

當(dāng)然,也可以把hist+scatter圖中的散點(diǎn)圖代之以hist2d
fig = plt.figure()
gs = fig.add_gridspec(2, 2,
width_ratios=(4, 1),
height_ratios=(1, 4))
ax = fig.add_subplot(gs[1, 0])
ax.hist2d(x, y, bins=40) # 散點(diǎn)圖繪制
xHist = fig.add_subplot(gs[0, 0], sharex=ax)
xHist.tick_params(axis="x", labelbottom=False)
yHist = fig.add_subplot(gs[1, 1], sharey=ax)
yHist.tick_params(axis="y", labelleft=False)
binwidth = 0.25
lim = (int(np.max(np.abs([x,y]))/0.25) + 1) * 0.25
bins = np.arange(-lim, lim + binwidth, binwidth)
xHist.hist(x, bins=bins)
yHist.hist(y, bins=bins, orientation='horizontal')
plt.show()
到此這篇關(guān)于python繪制二維直方圖的代碼實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)python繪制二維直方圖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python中的hashlib和base64加密模塊使用實(shí)例
這篇文章主要介紹了python中的hashlib和base64加密模塊使用實(shí)例,hashlib模塊支持的加密算法有md5 sha1 sha224 sha256 sha384 sha512,需要的朋友可以參考下2014-09-09
python打印帶時(shí)間的日志實(shí)現(xiàn)代碼
python的logging模塊提供了標(biāo)準(zhǔn)的日志接口,可以通過它存儲(chǔ)各種格式的日志,下面這篇文章主要給大家介紹了關(guān)于python打印帶時(shí)間的日志的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-04-04
Jupyter Notebook折疊輸出的內(nèi)容實(shí)例
這篇文章主要介紹了Jupyter Notebook折疊輸出的內(nèi)容實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-04-04
pytorch實(shí)現(xiàn)查看當(dāng)前學(xué)習(xí)率
這篇文章主要介紹了pytorch實(shí)現(xiàn)查看當(dāng)前學(xué)習(xí)率,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-06-06
Django項(xiàng)目中添加ldap登陸認(rèn)證功能的實(shí)現(xiàn)
這篇文章主要介紹了Django項(xiàng)目中添加ldap登陸認(rèn)證功能的實(shí)現(xiàn),詳細(xì)介紹了django-auth-ldap的使用方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-04-04
python實(shí)現(xiàn)npy格式文件轉(zhuǎn)換為txt文件操作
這篇文章主要介紹了python實(shí)現(xiàn)npy格式文件轉(zhuǎn)換為txt文件操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-07-07

