未明學院:Python可視化庫Matplotlib繪圖入門詳解

2020-12-13 未明學院

Matplotlib是Python的繪圖庫,其中的pyplot包封裝了很多畫圖的函數。

Matplotlib.pyplot 包含一系列類似 MATLAB 中繪圖函數的相關函數。每個 Matplotlib.pyplot 中的函數會對當前的圖像進行一些修改,例如:產生新的圖像,在圖像中產生新的繪圖區域,在繪圖區域中畫線,給繪圖加上標記,等等…… Matplotlib.pyplot 會自動記住當前的圖像和繪圖區域,因此這些函數會直接作用在當前的圖像上。

繪製線圖

plt.plot() 函數可以用來繪製線型圖:

1、基本用法

指定x和y

plt.plot(x,y)

默認參數,x 為 0~N-1

plt.plot(y)

因此,在上面的例子中,我們沒有給定 x 的值,所以其默認值為 [0,1,2,3]。

分別傳入 x 和 y:

2、字符參數

和 MATLAB 中類似,我們還可以用字符來指定繪圖的格式。

表示顏色的字符參數有:

表示類型的字符參數有:

例如我們要畫出紅色圓點:

可以看出,有兩個點在圖像的邊緣,因此,我們需要改變軸的顯示範圍。

3、顯示範圍

與 MATLAB 類似,這裡可以使用 axis 函數指定坐標軸顯示的範圍:

plt.axis([xmin, xmax, ymin, ymax])

4、傳入Numpy參數

之前我們傳給 plot 的參數都是列表,事實上,向 plot 中傳入 numpy 數組是更常用的做法。事實上,如果傳入的是列表,matplotlib 會在內部將它轉化成數組再進行處理:

5、子圖

figure() 函數會產生一個指定編號為 num 的圖:

plt.figure(num)

這裡,figure(1) 其實是可以省略的,因為默認情況下 plt 會自動產生一幅圖像。

使用 subplot 可以在一副圖中生成多個子圖,其參數為:

plt.subplot(numrows, numcols, fignum)

當 numrows * numcols < 10 時,中間的逗號可以省略,因此 plt.subplot(211) 就相當於 plt.subplot(2,1,1)。

繪製柱狀圖

柱狀圖(bar chart),是一種以長方形的長度為變量的表達圖形的統計報告圖,由一系列高度不等的縱向條紋表示數據分布的情況,用來比較兩個或以上的價值(不同時間或者不同條件),只有一個變量,通常利用於較小的數據集分析。柱狀圖亦可橫向排列,或用多維方式表達。

繪製每個國家或地區的電影數量的柱狀圖:

繪製散點圖

用兩組數據構成多個坐標點,考察坐標點的分布,判斷兩變量之間是否存在某種關聯或總結坐標點的分布模式。

散點圖將序列顯示為一組點。值由點在圖表中的位置表示。類別由圖表中的不同標記表示。散點圖通常用於比較跨類別的聚合數據。

根據電影時長和電影評分繪製散點圖:

繪製餅圖

餅圖英文學名為Sector Graph, 有名Pie Graph。常用於統計學模塊。2D餅圖為圓形,手畫時,常用圓規作圖。

僅排列在工作表的一列或一行中的數據可以繪製到餅圖中。餅圖顯示一個數據系列中各項的大小與各項總和的比例,數據點顯示為整個餅圖的百分比。

函數原型:

pie(x, explode=None, labels=None, colors=None, autopct=None, pctdistance=0.6,

shadow=False, labeldistance=1.1, startangle=None, radius=None)

參數: x (每一塊)的比例,如果sum(x) > 1會使用sum(x)歸一化

labels (每一塊)餅圖外側顯示的說明文字

explode (每一塊)離開中心距離

startangle 起始繪製角度,默認圖是從x軸正方向逆時針畫起,如設定=90則從y軸正方向畫起

shadow表示是否陰影

labeldistance label繪製位置,相對於半徑的比例, 如<1則繪製在餅圖內側

autopct 控制餅圖內百分比設置,可以使用format字符串或者format function

'%1.1f'指小數點前後位數(沒有用空格補齊)

pctdistance 類似於labeldistance,指定autopct的位置刻度

radius 控制餅圖半徑

返回值: 如果沒有設置autopct,返回(patches, texts)

如果設置autopct,返回(patches, texts, autotexts)

根據電影的長度繪製餅圖:

繪製直方圖

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

直方圖是數值數據分布的精確圖形表示。這是一個連續變量(定量變量)的概率分布的估計,並且被卡爾·皮爾遜(Karl Pearson)首先引入。它是一種條形圖。

為了構建直方圖,第一步是將值的範圍分段,即將整個值的範圍分成一系列間隔,然後計算每個間隔中有多少值。這些值通常被指定為連續的,不重疊的變量間隔。間隔必須相鄰,並且通常是(但不是必須的)相等的大小。

直方圖也可以被歸一化以顯示「相對」頻率。然後,它顯示了屬於幾個類別中的每個案例的比例,其高度等於1。

根據電影的評分繪製直方圖:

hist的參數非常多,但常用的就這七個,只有第一個是必須的,其他是可選的。

arr: 需要計算直方圖的一維數組

bins: 直方圖的柱數,可選項,默認為10

normed: 是否將得到的直方圖向量歸一化。默認為0

facecolor: 直方圖顏色

edgecolor: 直方圖邊框顏色

alpha: 透明度

histtype: 直方圖類型,『bar』, 『barstacked』, 『step』, 『stepfilled』

返回值 :

n: 直方圖向量,是否歸一化由參數normed設定

bins: 返回各個bin的區間範圍

patches: 返回每個bin裡面包含的數據,是一個list

相關焦點

  • python:matplotlib入門詳細教程
    與之齊名,matplotlib作為數據科學的的另一必備庫,算得上是python可視化領域的元老,更是很多高級可視化庫的底層基礎,其重要性不言而喻。本篇對matplotlib進行系統性介紹,不會面面俱到,但求體系完備、詳略得當。
  • Matplotlib入門詳細教程
    >Matplotlib入門詳細教程Matplotlib作為數據科學的的必備庫,算得上是python可視化領域的元老,更是很多高級可視化庫的底層基礎,其重要性不言而喻。行文目錄結構,重點是右三分支matplotlib是python的一個繪圖庫,與numpy、pandas共享數據科學三劍客的美譽,也是很多高級可視化庫的基礎。matplo
  • Python 繪圖庫 Matplotlib 入門教程
    /Matplotlib是一個Python語言的2D繪圖庫,它支持各種平臺,並且功能強大,能夠輕易繪製出各種專業的圖像。本文是對它的一個入門教程。運行環境由於這是一個Python語言的軟體包,因此需要你的機器上首先安裝好Python語言的環境。關於這一點,請自行在網絡上搜索獲取方法。關於如何安裝Matplotlib請參見這裡:Matplotlib Installing。
  • python數據科學系列:matplotlib入門詳細教程
    與之齊名,matplotlib作為數據科學的的另一必備庫,算得上是python可視化領域的元老,更是很多高級可視化庫的底層基礎,其重要性不言而喻。本篇對matplotlib進行系統性介紹,不會面面俱到,但求體系完備、詳略得當。
  • 高效使用 Python 可視化工具 Matplotlib
    基本前提如果你除了本文之外沒有任何基礎,建議用以下幾個步驟學習如何使用matplotlib:學習基本的matplotlib術語,尤其是什麼是圖和坐標軸始終使用面向對象的接口,從一開始就養成使用它的習慣用基礎的pandas繪圖開始你的可視化學習用seaborn進行更複雜的統計可視化用matplotlib來定製
  • 如何系統地學習Python 中 matplotlib, numpy, scipy, pandas?
    它可以向開發者提供用於數據操作與可視化的高級命令和類,是構建交互式 Python 會話的強大工具。Pandas:面向數據操作和分析的 Python 庫,提供用於處理數字圖表和時序數據的數據結構和操作功能。Matplotlib:Python 中常用的繪圖庫,能在跨平臺的交互式環境生成高質量圖形。後來在它的基礎上又衍生了更為高級的繪圖庫 Seaborn。
  • matplotlib的Python數據可視化和探索——入門指南
    matplotlib——最受歡迎的Python庫,用於數據可視化和探索我喜歡在Python中使用matplotlib。這是我學會掌握的第一個可視化庫,此後一直存在。matplotlib是最受歡迎的用於數據可視化和探索的Python庫,這是有原因的——它提供的靈活性和敏捷性是無與倫比的!
  • python使用matplotlib畫動態圖
    matplotlib是python的核心繪圖庫,是python的一個開源項目,旨在為python提供一個繪圖庫。matplotlib與numpy組合是一種可行的matlab替代方案。在可視化中matplotlib是最常使用的工具,是對數據整體判斷、效果預測不可或缺的重要模塊。
  • Python數據可視化技能提升—用好matplotlib第1篇
    好啦,既然有朋友提出需要來啦,那今天咱們就聊點Python數據可視化相關的東東吧,說到Python的數據可視化呢,就必須提Python的一個庫哦,它就是大名鼎鼎的matplotlib庫,也是目前用得最多的Python數據可視化庫哦,matplotlib其實把MatLab的很多優點都借鑑了過來,所以呢,熟悉MatLab的朋友
  • Matplotlib數據可視化!
    Matplotlib是一個Python 2D繪圖庫(使用Matplotlib發布的mpl_toolkits庫可以畫3D圖形 ),能夠以多種硬拷貝格式和跨平臺的交互式環境生成出版物質量的圖形,用來繪製各種靜態,動態,交互式的圖表。
  • 如何用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繪圖庫進行講解,並將其強大的繪圖與編程功能應用到數學函數,化學,地理,物理,教育等諸多領域。
  • Python Matplotlib入門學習(一)
    ,今天就帶大家通過matplotlib的官方文檔帶領大家學習如何進行基本繪圖。圖:matplotlib官網主頁Matplotlib:使用Python可視化「Matplotlib是一個綜合庫,用於在Python中創建靜態,動畫和交互式可視化。Matplotlib使簡單的事情變得容易而困難的事情變得可能。」這是他們的廣告語,不多說了我們進入正題。
  • Python可視化:學會Matplotlib這幾點就夠了!
    python分析可視化展示,對於日常的分析中主要用到餅圖、折線圖、直方圖基本能滿足一般的分析可視化呈現。#y軸文字標籤plt.savefig('test',dpi=600) #保存圖片plt.show() #可視化圖形展示Python中的Matplotlib可視化編程整體結構主要有以下幾部分組成:(1)導入Matplotlib庫來進行(2)為了圖表可視化中文顯示必備代碼(3)可視化核心代碼,依據不同的圖形使用不同函數如直方圖:plt.plot
  • Matplotlib數據可視化方法總結
    Matplotlib是一個Python 2D繪圖庫(使用Matplotlib發布的mpl_toolkits庫可以畫3D圖形 ),能夠以多種硬拷貝格式和跨平臺的交互式環境生成出版物質量的圖形,用來繪製各種靜態,動態,交互式的圖表。
  • Python 數據分析:Matplotlib 繪圖
    簡介Matplotlib 是 Python 提供的一個繪圖庫,通過該庫我們可以很容易的繪製出折線圖、直方圖、散點圖、餅圖等豐富的統計圖,安裝使用 pip install matplotlib 命令即可,Matplotlib 經常會與 NumPy 一起使用。
  • 創造生動有趣的動畫,Matplotlib庫大顯身手
    此圖由Matplotlib繪圖庫繪製而成,該繪圖庫常常被認為是python可視化數據包的原始數據組。Matplotlib通過50個分散點的比例和不透明度來模擬雨滴落在平面上的情景。如今,Plotly、Bokeh、Altair等一系列可視化工具均為Python中強大的可視化工具。這些庫可實現最先進的動畫和交互動作。但是,本文重點在於研究資料庫的一個方面——動畫。同時,我們也將關注實現動畫的方法。
  • Python-Matplotlib: 官方學習手冊獲取與學習
    程式語言及其數值數學擴展包 NumPy的可視化操作界面。它利用通用的圖形用戶界面工具包,如Tkinter, wxPython, Qt或GTK+,向應用程式嵌入式繪圖提供了應用程式接口(API)。此外,matplotlib還有一個基於圖像處理庫(如開放圖形庫OpenGL)的pylab接口,其設計與MATLAB非常類似--儘管並不怎麼好用。SciPy就是用matplotlib進行圖形繪製。matplotlib最初由John D.
  • 數據可視化|matplotlib 的主要組成元素
    >matplotlib 是 Python 中的一個繪圖庫,具有可定製性強、圖表資源豐富等特點,既能創建靜態圖形,也能創建動態交互的數據可視化效果;既能創建 2D 圖形,也能創建 3D 圖形;既能創建常見的簡單圖形,也能創建統計學專業的複雜圖形。ma
  • 小白開始學Python最著名的繪圖庫
    數據可視化是一門藝術也是科學,可視化的神兵利器很多,今天介紹大名鼎鼎的Matplotlib,當然還有懶人專用的pandas畫圖,只要幾行搞定,還有R語言的ggplot2最人性的庫,以及酷炫的JS庫D3. 今天就先了解一下Python中最著名的繪圖庫Matplotlib,看看到底如何做出漂亮的圖有的小夥伴不解,為啥叫它鼻祖的,因為其他的可視化的數據包都是從它演變而來,二次封裝的。