Python生成直方圖方法實(shí)現(xiàn)詳解
1. 引言
你想知道如何在Python中生成直方圖嗎?在本教程中,我將向大家展示如何做到這一點(diǎn)。
數(shù)值數(shù)據(jù)的分布可以用直方圖表示。直方圖是數(shù)據(jù)的一種可視化表示,它使用不同高度的條形圖,其中每個(gè)條形圖標(biāo)識(shí)一段范圍的數(shù)據(jù)。在Python中,我們可以使用兩個(gè)模塊繪制直方圖:Matplotlib和Pandas。
閑話(huà)少說(shuō),我們直接開(kāi)始吧!
2. 生成數(shù)據(jù)
首先,讓我們使用Numpy來(lái)創(chuàng)建一些虛擬數(shù)據(jù),其中NumPy是一個(gè)可以處理多維數(shù)組的Python庫(kù)。接著,我們使用以下代碼從正態(tài)高斯分布生成隨機(jī)樣例數(shù)據(jù),如下:
import numpy as np # Create dummy data points data = np.random.normal(170, 10, 250) print(data)
上述代碼輸出如下:
[178.6389057 160.71481129 176.06380975 170.26836416 168.64962801
167.77093268 189.89642816 167.57947841 187.95156914 185.14287433
173.77094473 181.96577219 171.40557555 168.42044648 181.90741839
182.15559495 151.58511408 165.68497833 163.91143081 170.86070342
165.91667438 177.44452444 161.35877875 170.74342034 161.41709815
187.54503422 160.61351112 177.18043424 180.366389 177.56347178
165.48898864 189.19288388 186.5750155 154.66924922 … 170.94541687]
接下來(lái),我們將使用這些數(shù)據(jù)來(lái)進(jìn)行直方圖的繪制。
3. 使用Matplotlib繪制直方圖
如果我們已經(jīng)裝好了numpy和Matplotlib庫(kù),接下來(lái)我們使用以下代碼來(lái)繪制最基礎(chǔ)的直方圖,代碼如下:
import matplotlib.pyplot as plt import numpy as np data = np.random.normal(170, 10, 250) plt.hist(data) plt.show()
樣例輸出如下:

嗯捏,我們已經(jīng)成功繪制了第一個(gè)直方圖。
事實(shí)上,Matplotlib提供了大量參數(shù)來(lái)定制圖形,我們將使用它們使上面的直方圖更具可視化效果。代碼如下:
import matplotlib.pyplot as plt import numpy as np data = np.random.normal(170, 10, 250) plt.hist(data, bins= 20, color='green') plt.show()
輸出如下:

4. 使用Pandas繪制直方圖
其實(shí),Python中的第三方庫(kù)Pandas為大家提供了高效地操作大型數(shù)據(jù)集所需的工具。在Pandas的幫助下,我們可以輕松高效地執(zhí)行數(shù)據(jù)分析任務(wù)。
所以,我們也可以使用Pandas中的hist進(jìn)行直方圖繪制,樣例代碼如下:
# import libraries import numpy as np import pandas as pd import matplotlib.pyplot as plt # generate random data using NumPy random_data = np.random.normal(170, 10, 250) # convert the data into a Pandas DataFrame dataframe = pd.DataFrame(random_data) # plot histogram using Pandas hist() function dataframe.hist()
輸出結(jié)果如下:

哇,是不是可視化效果更加美觀(guān)啦!
5. 總結(jié)
在本文中,我們從直方圖的基本知識(shí)開(kāi)始,并介紹了它們的用途。接著,我們使用Numpy生成虛擬數(shù)據(jù),并使用Matplotlib和Pandas分別進(jìn)行直方圖的繪制,并給出了相應(yīng)的代碼示例。
到此這篇關(guān)于Python生成直方圖方法實(shí)現(xiàn)詳解的文章就介紹到這了,更多相關(guān)Python直方圖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
利用Python將每日一句定時(shí)推送至微信的實(shí)現(xiàn)方法
這篇文章主要給大家介紹了關(guān)于利用Python將每日一句定時(shí)推送至微信的實(shí)現(xiàn)方法,文中通過(guò)示例代碼將實(shí)現(xiàn)的步驟一步步介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-08-08
解決pyinstaller 打包exe文件太大,用pipenv 縮小exe的問(wèn)題
這篇文章主要介紹了解決pyinstaller 打包exe文件太大,用pipenv 縮小exe的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07
Python實(shí)現(xiàn)暴力匹配算法(字符串匹配)
本文主要介紹了Python實(shí)現(xiàn)暴力匹配算法,其主要思想是逐個(gè)字符地比較文本串和模式串,從文本串的每個(gè)可能的起始位置開(kāi)始,依次檢查是否有匹配的子串,下面就來(lái)介紹 一下如何實(shí)現(xiàn)2023-09-09
python+selenium+PhantomJS抓取網(wǎng)頁(yè)動(dòng)態(tài)加載內(nèi)容
一般我們使用python的第三方庫(kù)requests及框架scrapy來(lái)爬取網(wǎng)上的資源,但是設(shè)計(jì)javascript渲染的頁(yè)面卻不能抓取,此 時(shí),我們使用web自動(dòng)化測(cè)試化工具Selenium+無(wú)界面瀏覽器PhantomJS來(lái)抓取javascript渲染的頁(yè)面,下面實(shí)現(xiàn)一個(gè)簡(jiǎn)單的爬取2020-02-02
利用python3隨機(jī)生成中文字符的實(shí)現(xiàn)方法
最近在學(xué)習(xí)python3,發(fā)現(xiàn)網(wǎng)上關(guān)于ptyhon3隨機(jī)生成中文的資料非常少,所以決定將自己實(shí)現(xiàn)的方法分享下,下面這篇文章主要給大家介紹了關(guān)于利用python3隨機(jī)生成中文字符的實(shí)現(xiàn)方法,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-11-11
Python通過(guò)屬性手段實(shí)現(xiàn)只允許調(diào)用一次的示例講解
下面小編就為大家分享一篇Python通過(guò)屬性手段實(shí)現(xiàn)只允許調(diào)用一次的示例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-04-04
Python SQLite3數(shù)據(jù)庫(kù)操作類(lèi)分享
這篇文章主要介紹了Python SQLite3數(shù)據(jù)庫(kù)操作類(lèi)分享,需要的朋友可以參考下2014-06-06

