Matplotlib庫繪製直方圖

2020-12-06 一起學python

繪製直方圖

直方圖由豎立在x軸上的多個相鄰的矩形組成,這些矩形把x軸拆分為一段段彼此不重疊的線段(線段兩個端點所標識的數據範圍也叫面元),矩形的面積跟落在其所對應的面元的元素數量成正比。這種可視化方法常被用於樣本分布等統計研究。

pyplot用於繪製直方圖的函數為hist( ),該函數具有一個其他繪圖函數所沒有的功能。它除了繪製直方圖外,還以元組形式返回直方圖的計算結果。事實上,hist( )函數還可以實現直方圖的計算。也就是說,它能夠接受一系列樣本個體和期望的面元數量作為參數,會把樣本範圍分為多個區間(面元),然後計算每個面元所包含的樣本個體的數量,運算結果除了以圖形形式表示外,還能以元組形式返回。

(n, bins, patches)

要理解上述操作,最好的辦法莫過於看一個實際的例子。首先使用random.randint( )函數生成100個0~100的隨機數作為樣本。

現在,我們把剛生成的樣本數據作為參數傳給hist( )函數,創建一個直方圖。例如,你想把樣本個體分到20個面元中(如未指定,默認分為10個面元),關鍵字參數bin的值為20。

條狀圖

另外一種常用的圖表類型為條狀圖。它跟直方圖很相似,只不過x軸表示的不是數值而是類別。用matplotlib的bar( )函數生成條狀圖很簡單。

用上述幾行代碼就能繪製出如下所示的條狀圖。

如上所示,x軸上所有的標籤顯示在每個長條的左下角。但是由於每個長條對應的是一種類別,最好用刻度標籤標明其類別,方法是把表示各個類別的字符串傳遞給xticks( )參數。至於刻度標籤的位置,你需要把表示它們在x軸上位置的數值列表傳遞給xticks( )函數,作為它的第一個參數。最終,將得到如下所示的條狀圖。

實際上,我們還可以藉助很多其他步驟進一步改進條狀圖。每一種改進方法都是通過在bar( )函數中添加特定的參數來實現的。例如,把包含標準差的列表傳給yerr關鍵字參數,就能添加標準差。這個參數常跟error_kw參數一起使用,而後者又接收其他可用於顯示誤差線的關鍵字參數。常用的兩個是eColor和capsize,ecolor指定誤差線的顏色,而capsize指定誤差線兩頭橫線的寬度。

還有一個參數叫做alpha,它控制的是彩色條狀圖的透明度。alpha的取值範圍為0~1。0表示對象完全透明,1表示對象顏色完全填充。

我們可以像下面這樣在圖表中添加圖例,它控制的事彩色條狀圖的透明度。

水平條狀態圖

前面講的都是沿垂直方向排列的條狀圖,實際上還有水平方向的條狀圖。這種模式的條狀圖用barh( )函數實現,bar( )函數的參數和關鍵字參數對該函數依然有效。唯一需要注意的是,兩條軸的用途跟垂直條狀圖剛好相反。水平條狀圖中,類別分布在y軸上,數值顯示在x軸。

相關焦點

  • Python 繪圖庫 Matplotlib 入門教程
    /Matplotlib是一個Python語言的2D繪圖庫,它支持各種平臺,並且功能強大,能夠輕易繪製出各種專業的圖像。>通過np.arange(100, 201)生成一個[100, 200]之間的整數數組,它的值是:[100, 101, 102, … , 200]通過matplotlib.pyplot將其繪製出來。
  • 如何用matplotlib繪圖呢?
    什麼是matplotlib?使用過python做數據分析的小夥伴都知道,matplotlib是一款命令式、較底層、可定製性強、圖表資源豐富、簡單易用、出版質量級別的python 2D繪圖庫。matplotlib算是python繪圖的元老級庫,類似程式語言裡的C語言。很多其它的python繪圖庫是基於matplotlib開發的,比如seaborn、ggplot、plotnine、holoviews、basemap等。matplotlib可用於python腳本、python shell、jupyter notebook、web等。
  • Python可視化很簡單,一文學會繪製柱狀圖、條形圖和直方圖
    matplotlib庫作為Python數據化可視化的最經典和最常用庫,掌握了它就相當於學會了Python的數據化可視化,通過前幾次呢,咱們已經討論了使用matplotlib庫中的圖表組成元素的幾個重要函數,相信大家已經學會並掌握了哦,今天呢,咱們再深入一點哦,一起來聊聊關於如何繪製柱狀圖
  • matplotlib的Python數據可視化和探索——入門指南
    matplotlib——最受歡迎的Python庫,用於數據可視化和探索我喜歡在Python中使用matplotlib。這是我學會掌握的第一個可視化庫,此後一直存在。matplotlib是最受歡迎的用於數據可視化和探索的Python庫,這是有原因的——它提供的靈活性和敏捷性是無與倫比的!
  • 看了這個總結,其實 Matplotlib 可視化,也沒那麼難!
    作者 | 舊時晚風拂曉城 來源 | 傑哥的IT之旅(ID:Jake_Internet)頭圖 | CSDN 下載自東方IC公眾號「傑哥的IT之旅」後臺回覆:「matplotlib數據可視化」,獲取本文完整數據集。Python 中可以通過 matplotlib 模塊的 pyplot 子庫來完成繪圖。
  • 未明學院:Python可視化庫Matplotlib繪圖入門詳解
    Matplotlib是Python的繪圖庫,其中的pyplot包封裝了很多畫圖的函數。Matplotlib.pyplot 包含一系列類似 MATLAB 中繪圖函數的相關函數。每個 Matplotlib.pyplot 中的函數會對當前的圖像進行一些修改,例如:產生新的圖像,在圖像中產生新的繪圖區域,在繪圖區域中畫線,給繪圖加上標記,等等…… Matplotlib.pyplot 會自動記住當前的圖像和繪圖區域,因此這些函數會直接作用在當前的圖像上。
  • 這麼用MatPlotLib視覺化呈現數據,你值得擁有!
    Matplotlib2. Seaborn3. Plotly4. Pandas學習使用這些視覺化工具可促進數據理解、信息提取和決策制定。本文將對Matplotlib工具進行詳細介紹。MatplotlibMatplotlib是一個Python的2D繪圖庫,它以各種硬拷貝格式和跨平臺的交互式環境生成出版質量級別的圖形。
  • matplotlib繪圖的核心原理講解
    最後,張三就是在分配好的不同區域上進行圖形繪製了,在一張畫布上,畫的最多的應該就是2D圖,也可以畫3D圖,如圖所示,張三在區域一畫了一個小狗,在區域二畫了一個小貓,在區域三畫了一個光頭強。對比到matplotlib中,我們在axes1中畫了一個條形圖,在axes2中畫了一個餅圖,在axes3中畫了一個折線圖。
  • Python 繪圖,我只用 Matplotlib
    圖1-1 散點圖示例使用Matplotlib的scatter()函數繪製散點圖,其中x和y是相同長度的數組序列。scatter()函數的一般用法為:主要參數說明如下:x,y:數組。s:散點圖中點的大小,可選。c:散點圖中點的顏色,可選。 marker:散點圖的形狀,可選。alpha:表示透明度,在 0~1 取值,可選。
  • matplotlib如何實現圖形繪製在tkinter的Canvas中?
    matplotlib如何實現圖形繪製在tkinter的Canvas中?今天番茄加速就來分享一下。下面就是最重要的tkinter和matplotlib集成部分,matplotlib提供FigureCanvasTkAgg對象,只需三行代碼,實現圖形繪製在tkinter的Canvas中:canvas_l = FigureCanvasTkAgg(figure_l, frame_l)# 用draw代替canvas_l.draw()canvas_l.get_tk_widget
  • 30分鐘入門 Matplotlib 繪圖
    Matplotlib是一個主要用於繪製二維圖形的Python庫。
  • OpenCV-Python 直方圖-1:查找、繪製和分析|二十六
    目標學會使用OpenCV和Numpy函數查找直方圖使用OpenCV和Matplotlib函數繪製直方圖你將看到以下函數:cv.calcHist(),np.histogram現在我們應該繪製直方圖,但是怎麼繪製?繪製直方圖有兩種方法,簡短的方法:使用Matplotlib繪圖功能稍長的方法:使用OpenCV繪圖功能1.
  • 使用Matplotlib繪製堆積條形圖
    import numpy as npimport pandas as pdimport matplotlib.pyplot as pltdf = pd.read_csv('../data/vgsales.csv')df.head()我們接下來要將平臺和地區的銷售情況可視化。
  • Python數據可視化技能提升—用好matplotlib第1篇
    好啦,既然有朋友提出需要來啦,那今天咱們就聊點Python數據可視化相關的東東吧,說到Python的數據可視化呢,就必須提Python的一個庫哦,它就是大名鼎鼎的matplotlib庫,也是目前用得最多的Python數據可視化庫哦,matplotlib其實把MatLab的很多優點都借鑑了過來,所以呢,熟悉MatLab的朋友,對於matplotlib是上手很快的哦!
  • 有這5小段代碼在手,輕鬆實現數據可視化(Python+Matplotlib)
    大數據文摘作品編譯:傅一洋、吳雙、龍牧雪本文要講的是Matplotlib,一個強大的Python可視化庫。一共5小段代碼,輕鬆實現散點圖、折線圖、直方圖、柱狀圖、箱線圖,每段代碼只有10行,也是再簡單不過了吧!數據可視化是數據科學家工作的一項主要任務。
  • OpenCV-Python 直方圖-3:二維直方圖|二十八
    目標在本章中,我們將學習查找和繪製2D直方圖。這將在以後的章節中有所幫助。介紹在第一篇文章中,我們計算並繪製了一維直方圖。 之所以稱為一維,是因為我們僅考慮一個特徵,即像素的灰度強度值。 但是在二維直方圖中,您要考慮兩個特徵。
  • python可視化:matplotlib繪製直方圖進階篇!
    在上篇文章中介紹了直方圖的前五個參數,實際上直方圖一共有十幾個參數,剩下的參數利用這篇文章解釋清楚,讓大家能夠將如何繪製直方圖理解的透透的。bottom參數這個參數的含義也很直觀,底部的意思,指的是條形的底從哪裡開始。
  • Python繪圖筆記:繪製有趨勢線的直方圖、小提琴圖和誤差圖
    1.小提琴圖和箱線圖#同時繪製箱線圖和小提琴圖,箱線圖清楚地展示了所繪製的數據集中的四分位數和離群點#小提琴圖則清晰展示了數據集中的分布情況import matplotlib.pyplot as pltimport numpy as np
  • 見識matplotlib:不常見的一面,折線圖!
    眾所周知,matplotlib是python繪圖的基礎包,能夠生成各種各樣2D或者3D的圖形,用法算是多而全的那種,下邊是matplotlib官網首頁作為例子的幾張圖,大家感受一下:什麼?醜拒?不不不,別激動!其實matplotlib一直是一個低調奢華有內涵的包,需要我們透過它樸實無華的外表認清它豐富多彩的內在,來康康這條妖嬈的曲線,有沒有感受到它的召喚?
  • 提高編程能力:Python數據可視化技能提升——好matplotlib第2篇
    上次已經和大家聊了Python數據可視化的經典庫:matplotlib,大家已經知道啦,matplotlib庫是Python中用於繪製二維、三維等這些圖表的數據可視化工具,並且已經和大家聊完了關於matplotlib庫的安裝啦、還有matplotlib庫的兩個函數,分別是plot()函數和scatter()函數哦,相信大家已經對於這兩個函數的用法掌握啦,在這就不多說了哈,如果還想繼續了解