溫馨提示×

溫馨提示×

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

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

python畫直方圖的方法

發(fā)布時間:2020-08-07 13:36:06 來源:億速云 閱讀:420 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關(guān)python畫直方圖的方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

matplotlib.pyplot直方圖畫起來還是非常方便的,思路還是準備好數(shù)據(jù),然后設(shè)置參數(shù)即可。

python畫直方圖的方法

直方圖(Histogram)又稱質(zhì)量分布圖。是一種統(tǒng)計報告圖,由一系列高度不等的縱向條紋或線段表示數(shù)據(jù)分布的情況。 一般用橫軸表示數(shù)據(jù)類型,縱軸表示分布情況。 

直方圖是數(shù)值數(shù)據(jù)分布的精確圖形表示。 這是一個連續(xù)變量(定量變量)的概率分布的估計,并且被卡爾·皮爾遜(Karl Pearson)首先引入。它是一種條形圖。 為了構(gòu)建直方圖,第一步是將值的范圍分段,即將整個值的范圍分成一系列間隔,然后計算每個間隔中有多少值。 這些值通常被指定為連續(xù)的,不重疊的變量間隔。 間隔必須相鄰,并且通常是(但不是必須的)相等的大小。

直方圖是調(diào)用的matplotlib.pyplot.hist模塊

matplotlib.pyplot.hist的參數(shù):

matplotlib.pyplot.hist(x,bins = None,range = None,density = None,weights = None,cumulative = False,bottom = None,
histtype =’bar’,align =’mid’,orientation =’vertical’,rwidth = None,log = False,color = None,label = None,
stacked = False,normed = None,hold = None,data = None,** kwargs )

hist的參數(shù)詳解

x : (n,)數(shù)組或序列(n,)數(shù)組

輸入值,這需要單個數(shù)組或不需要具有相同長度的數(shù)組序列

bins : 整數(shù)或序列或’auto’可選,默認是沒有

如果一個整數(shù),bins +1,則計算并返回bin邊緣,與之一致numpy.histogram()

range : 元組或沒有可選的,默認是沒有

箱子的上下范圍。上下異常值將被忽略。如果沒有提供,范圍是(x.min(),x.max())。如果箱子是一個序列沒有影響范圍 
如果指定箱是一個序列或范圍,自動定量是基于指定本范圍而不是x的范圍。

density :可選布爾類型

如果這是真的,返回第一個元素的元組將計數(shù)歸一化形成一個概率密度,即。,面積(或積分)根據(jù)直方圖將之和為1。這是通過將整個計算
觀測的數(shù)量乘以本寬度,而不是除以總數(shù)量的觀察。如果堆也是真的,直方圖之和是標準化為1。 
默認是沒有賦范和密度。如果設(shè)置,那么將使用這個值。如果沒有設(shè)置,那么參數(shù)將被視為錯誤的

weights:可選擇相同的數(shù)據(jù)或者沒有

數(shù)組的重量、形狀相同的x。每個值x只貢獻相關(guān)重量對箱數(shù)(而不是1)。如果賦范或密度是真的,權(quán)重歸一化,這樣的積分密度范圍是1。

cumulative:可選布爾類型

如果True,則計算直方圖,其中每個bin給出該bin中的計數(shù)加上較小值的所有bin。最后一個bin給出了數(shù)據(jù)點的總數(shù)。如果賦范或密度 
也True然后直方圖歸一化,使得最后倉等于1。如果累計計算結(jié)果為小于0(例如,-1),累積的方向被反轉(zhuǎn)。在這種情況下,如果賦范
和/或密度也是True,則直方圖歸一化,使得第一倉等于1。 
默認是 False

bottom:相同數(shù)組,標量或者沒有

每個倉的底部基線的位置。如果是標量,則每個bin的基線移動相同的量。如果是一個數(shù)組,每個bin都是獨立移動的,底部的長度必須
與bin的數(shù)量相匹配。如果為None,則默認為0。默認是 None

histtype : {‘bar’,’barstacked’,’step’,’stepfilled’},可選

要繪制的直方圖的類型 
‘bar’是傳統(tǒng)的條形直方圖。如果給出多個數(shù)據(jù),則條并排排列。 
‘barstacked’是一種條形直方圖,其中多個數(shù)據(jù)堆疊在一起。 
‘step’生成一個默認未填充的線圖。 
‘stepfilled’生成一個默認填充的線圖。 
默認為’bar’

align : {‘left’,’mid’,’right’},可選

控制直方圖的繪制方式。 
‘left’:條形圖位于左邊框邊緣的中心。 
‘mid’:條在bin邊緣之間居中。 
‘right’:條形圖位于右側(cè)邊框的中心。 
默認為’mid’

orientation : {‘horizontal’,’vertical’},可選

如果是’horizontal’,barh將用于條形直方圖,底部 kwarg將用于左邊緣

log : 布爾值,可選

如果True,直方圖軸將設(shè)置為對數(shù)刻度。如果 log是True且x是1D數(shù)組,則將過濾掉空箱,并且僅 返回非空。(n, bins, patches).
默認是 False

color :顏色

顏色規(guī)格或顏色規(guī)格序列,每個數(shù)據(jù)集一個。Default(None)使用標準線顏色序列.默認是 None

實例:

import numpy as np
import matplotlib.pyplot as plt

np.random.seed(19680801)
mu, sigma = 100, 15
x = mu + sigma * np.random.randn(10000)
n, bins, patches = plt.hist(x, 50, density=True, facecolor='g', alpha=0.75)

plt.xlabel('Smarts')
plt.ylabel('Probability')
plt.title('Histogram of IQ')
plt.text(60, .025, r'$\mu=100,\ \sigma=15$')
plt.axis([40, 160, 0, 0.03])
plt.grid(True)
plt.show()

效果圖:

python畫直方圖的方法

關(guān)于python畫直方圖的方法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

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

AI