數據分析基礎之《matplotlib(5)—直方圖》

一、直方圖介紹

1、什么是直方圖
直方圖,形狀類似柱狀圖卻有著與柱狀圖完全不同的含義。直方圖牽涉統計學的概念,首先要對數據進行分組,然后統計每個分組內數據元的數量。在坐標系中,橫軸標出每個組的端點,縱軸表示頻數,每個矩形的高,代表對應的頻數,稱這樣的統計圖為頻數分布直方圖

2、示例
某校初三(1)班36位同學的身高的頻數分布直方圖如下圖所示:

(1)身高在哪一組的同學最多?
(2)身高在160.5cm以上的同學有多少人?

相關概念
組數:在統計數據時,我們把數據按照不同的范圍分成幾個組,分成的組的個數稱為組數
組距:每一組兩個端點的差

已知:最高175.5,最矮150.5,組距5,求組數
(175.5 - 150.5) / 5 = 5

二、直方圖與柱狀圖的對比

1、柱狀圖是以矩形的長度表示每一組的頻度或數量,其寬度(表示類別)則是固定的,利于較小的數據集分析

2、直方圖描述的是一組數據的頻次分布,是以矩形的長度表示每一組的頻度或數量,寬度則表示各組的組距,因此其高度與寬度均有意義,利于展示大量數據集的統計結果
例如把年齡分成“0-5,5-10,...,80-85”17個組,統計一下中國人口年齡的分布情況。直方圖有助于我們知道數據的分布情況,諸如眾數、中位數的大致位置、數據是否存在缺口或者異常值

3、直方圖展示數據的分布,柱狀圖比較數據的大小
這是直方圖與柱狀圖最根本的區別。舉個例子,有10個蘋果,每個蘋果重量不同。如果使用直方圖,就展示了重量在0-100g的蘋果有多少個,10-20g的蘋果有多少個;如果使用柱狀圖,則展示每個蘋果的具體重量
所以直方圖展示的是一組數據中,在你劃分的區間里,這些數據的分布情況,但是我們不知道在一個區間里,單個數據的具體大小

4、直方圖x軸為定量數據,柱狀圖x軸為分類數據

5、直方圖柱子無間隔,柱狀圖柱子有間隔

6、直方圖柱子寬度可不一,柱狀圖柱子寬度需一致

7、直方圖要素

三、直方圖繪制

1、需求:電影時長分布狀況
現有250部電影的時長,希望統計出這些電影時長的分布狀態(比如時長為100分鐘到120分鐘電影的數量,出現的頻率)等信息,你應該如何呈現這些數據

2、matplotlib.pyplot.hist(x, bins=None, normed=None, **kwargs)
說明:
x:這一組數據
bins:組數

繪制
設置組距
設置組數(通常對于數據較少的情況,分為5~12組,數據較多,更換圖形顯示方式)
? 通常設置組數會有相應公式:組數 = 級差 / 組距 (max - min) /?distance

3、代碼

# 直方圖繪制
# 需求:電影時長分布狀況# 1、準備數據
time = [131,  98, 125, 131, 124, 139, 131, 117, 128, 108, 135, 138, 131, 102, 107, 114, 119, 128, 121, 142, 127, 130, 124, 101, 110, 116, 117, 110, 128, 128, 115,  99, 136, 126, 134,  95, 138, 117, 111,78, 132, 124, 113, 150, 110, 117,  86,  95, 144, 105, 126, 130,126, 130, 126, 116, 123, 106, 112, 138, 123,  86, 101,  99, 136,123, 117, 119, 105, 137, 123, 128, 125, 104, 109, 134, 125, 127,105, 120, 107, 129, 116, 108, 132, 103, 136, 118, 102, 120, 114,105, 115, 132, 145, 119, 121, 112, 139, 125, 138, 109, 132, 134,156, 106, 117, 127, 144, 139, 139, 119, 140,  83, 110, 102,123,107, 143, 115, 136, 118, 139, 123, 112, 118, 125, 109, 119, 133,112, 114, 122, 109, 106, 123, 116, 131, 127, 115, 118, 112, 135,115, 146, 137, 116, 103, 144,  83, 123, 111, 110, 111, 100, 154,136, 100, 118, 119, 133, 134, 106, 129, 126, 110, 111, 109, 141,120, 117, 106, 149, 122, 122, 110, 118, 127, 121, 114, 125, 126,114, 140, 103, 130, 141, 117, 106, 114, 121, 114, 133, 137,  92,121, 112, 146,  97, 137, 105,  98, 117, 112,  81,  97, 139, 113,134, 106, 144, 110, 137, 137, 111, 104, 117, 100, 111, 101, 110,105, 129, 137, 112, 120, 113, 133, 112,  83,  94, 146, 133, 101,131, 116, 111,  84, 137, 115, 122, 106, 144, 109, 123, 116, 111,111, 133, 150]# 2、創建畫布
plt.figure(figsize=(20,8), dpi=100)# 3、繪制直方圖
# 組距
distance = 2
# 組數
group_num = int((max(time) - min(time)) / distance)
plt.hist(time, group_num)# 修改x軸刻度
plt.xticks(range(min(time), max(time) + 2, distance))# 添加網格
plt.grid(linestyle="--", alpha=0.5)# 添加x,y軸描述信息
plt.xlabel("電影時長大小")
plt.ylabel("電影的數據量")# 4、顯示圖像
plt.show()

3、直方圖注意點

(1)注意組距
組距會影響直方圖呈現出來的數據分布,因此在繪制直方圖的時候需要多次嘗試改變組距

(2)注意y軸所代表的變量
y軸上的變量可以是頻次(數據出現了多少次)、頻率(頻次/總次數)、頻率/組數,不同的變量會讓直方圖描述的數據分布意義不同

四、直方圖的應用場景

1、用于表示分布情況

2、通過直方圖還可以觀察和估計哪些數據比較集中,異常或者孤立的數據分布在何處
例如:用戶年齡分布,商品價格分布
?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/208515.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/208515.shtml
英文地址,請注明出處:http://en.pswp.cn/news/208515.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

無人機巡山護林,林業無人機智能助力綠色守護

隨著全球環保意識的不斷提高,無人機巡山護林已經成為解決森林巡檢難題的一種獨特而高效的方式。在我國,各地正積極探索無人機在森林防火、病蟲害監測以及生態調查等領域的創新應用。隨著無人機技術的不斷演進,其在推動森林保護和可持續發展方…

HTML實現每天單詞積累

注冊頁面 <!DOCTYPE html> <html> <head><meta charset"UTF-8"><title>注冊</title><style>body {font-family: Arial, sans-serif;background-color: #f5f5f5;}form {max-width: 500px;margin: 50px auto;padding: 40px…

【Docker】進階之路:(九)Docker網絡

【Docker】從零開始&#xff1a;19.Docker網絡 Docker網絡模式簡介bridge網絡模式host網絡模式none網絡模式container網絡模式user-defined網絡模式1.創建自定義的bridge網絡2.使用自定義網絡 高級網絡配置docker network命令 為什么要了解容器的網絡模式? 首先&#xff0c;容…

spark 寫入 mysql 報錯

報錯信息如下&#xff1a; "C:\Program Files\Java\jdk1.8.0_291\bin\java.exe" "-javaagent:D:\Hadoopruanjian\IDEA\IntelliJ IDEA 2021.3.2\lib\idea_rt.jar60971:D:\Hadoopruanjian\IDEA\IntelliJ IDEA 2021.3.2\bin" -Dfile.encodingUTF-8 -classpat…

工業級路由器在風力發電場的遠程監控技術

工業級路由器在風力發電場的遠程監控技術方面具有重要的應用意義。風力發電場通常由分布在廣闊地區的風力發電機組組成&#xff0c;需要進行實時監測、數據采集和遠程管理。工業級路由器作為網絡通信設備&#xff0c;能夠提供穩定可靠的網絡連接和多種遠程管理功能&#xff0c;…

深入探討Go語言協程調度:GRM模型解析與優化策略

一、線程調度 1、早期單線程操作系統 一切的軟件都是跑在操作系統上&#xff0c;真正用來干活&#xff08;計算&#xff09;的是 CPU早期的操作系統每個程序就是一個進程&#xff0c;直到一個程序運行完&#xff0c;才能進行下一個進程&#xff0c;就是“單進程時代”一切的程…

ES6中新增的基本數據類型----symbol

前言 Symbol 基本數據類型 獨一無二得值 Symbol函數創建 接收字符串 對symbol值得描述 let s1 Symbol(描述) /*** symbol 基本數據類型 表示獨一無二的值 Symbol函數創建獨一無二得值 參數可以是唯一值得描述*/ let sy1 Symbol();//創建好一個獨一無二得值 let sy2 Symbo…

EXP-00056: 遇到 ORACLE 錯誤 12154 ORA-12154: TNS: 無法解析指定的連接標識符

exp oas/oasoas filed:\daochu.dmp owner(s) 導出特定用戶 //exp 用戶名/密碼數據庫 filed:\daochu.dmp owner(用戶名) 1.重啟oracle監聽 cmd 中輸入 services.msc 找到服務&#xff1a;OracleOraDb10g_home1TNSListener 與 OracleServiceORCL。 把兩個服務啟動. 若未解決…

Vue 3 + Tailwind CSS:打造現代化項目的完美組合

Vue 3 Tailwind CSS&#xff1a;打造現代化項目的完美組合 本篇教程將向你介紹如何將 Tailwind CSS 與 Vue 3 項目搭配使用&#xff0c;為你的項目提供現代化的 UI 呈現和開發體驗。通過本文的逐步演示和示例代碼&#xff0c;你將很快掌握在 Vue 3 中集成和使用 Tailwind CSS…

SCI一區級 | Matlab實現GWO-CNN-BiLSTM-selfAttention多變量多步時間序列預測

SCI一區級 | Matlab實現GWO-CNN-BiLSTM-selfAttention多變量多步時間序列預測 目錄 SCI一區級 | Matlab實現GWO-CNN-BiLSTM-selfAttention多變量多步時間序列預測預測效果基本介紹程序設計參考資料 預測效果 基本介紹 1.Matlab實現GWO-CNN-BiLSTM-selfAttention灰狼算法優化卷…

IntelliJ idea卡頓解決,我遇到的比較管用的方案

Setttings> Build, Execution,Deployment>Debugger> Data Views> Java 取消 Enable "toString()" object view; Speed up debugging in IntelliJ Yesterday, I observed painfully slow debugging in IntelliJ. Every step over or step in took almost…

【力扣】234.回文鏈表2

234.回文鏈表2 感覺自己還是有點時間&#xff0c;然后又學了兩種解法。那就一起整理一下。 法一&#xff1a;反轉鏈表后比較 題解看我的這一篇就行&#xff08;click) 法二&#xff1a;數組雙指針 思路很簡單&#xff0c;就是用while循環遍歷一下整個鏈表將對應的值復制到…

2023年12月8日:UI登陸界面

作業 頭文件 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QMovie> #include <QPushButton> #include <QDebug>QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public QWidget {Q_OBJECTpub…

GO語言開始

GO語言開始 下載windows版本安裝后查看 是否安裝成功下載GO的集成開發工具第一個GO程序 Go官網地址&#xff1a;https://golang.org/ Go 官方鏡像站&#xff08;推薦&#xff09;:https://golang.google.cn/dl/ 下載windows版本 安裝后查看 是否安裝成功 下載GO的集成開發工具…

鴻蒙原生應用開發【分布式數據對象】

01、什么是分布式數據對象 在可信組網環境下&#xff0c;多個相互組網認證的設備將各自創建的對象加入同一個 sessionId&#xff0c;使得加入的多個數據對象之間可以同步數據&#xff0c;也就是說&#xff0c;當某一數據對象屬性發生變更時&#xff0c;其他數據對象會檢測到這…

前端知識筆記(三十七)———Django與Ajax

特點&#xff1a; 異步提交 局部刷新 例子&#xff1a;github注冊 動態獲取用戶名實時的跟后端確認并實時的展示到前端&#xff08;局部刷新&#xff09; 朝后端發送請求的方式 1.瀏覽器地址欄直接輸入url回車 -----》get請求 2.a標簽的href屬性 -----》get請求 3…

pcl-3 pcl結合opencv做svm分類(法向量特征數據)

后續使用了fpfh特征作為訓練數據&#xff0c;遇到了一些困難 首先是flann沖突&#xff0c;這個將opcv中的flann都改成了flann2就可以運行 后面在將得到的33特征值進行訓練的時候一直內存超限&#xff0c;傳輸的不太好&#xff0c;到現在還是不行&#xff0c;改了三天還是沒有改…

Flink 系列文章匯總索引

Flink 系列文章 一、Flink 專欄 本專欄系統介紹某一知識點&#xff0c;并輔以具體的示例進行說明。 本專欄的文章編號可能不是順序的&#xff0c;主要是因為寫的時候順序沒統一&#xff0c;但相關的文章又引入了&#xff0c;所以后面就沒有調整了&#xff0c;按照寫文章的順…

OpenCL學習筆記(三)手動編譯開發庫(win10+mingw64)

前言 有的小伙伴仍然在使用mingw編譯器&#xff0c;這時只能重新編譯opencl的sdk庫。本文檔簡單記錄下win10下&#xff0c;使用mingw11.20編譯的過程&#xff0c;有需要的小伙伴可以參考下 一、安裝所需軟件 1.安裝git&#xff0c;教程比較多&#xff0c;不再重復 2.安裝cm…

chrome安裝jsonview

寫在前面 通過jsonview可以實現&#xff0c;當http響應時application/json時直接在瀏覽器格式化顯示&#xff0c;增加可讀性。本文看下如何安裝該插件到chrome中。 1&#xff1a;安裝 首先在這里 下載插件包&#xff0c;然后解壓備用。接著在chrome按照如下步驟操作&#xf…