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

2021-01-15 未明學院

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語言的2D繪圖庫,它支持各種平臺,並且功能強大,能夠輕易繪製出各種專業的圖像。本文是對它的一個入門教程。運行環境由於這是一個Python語言的軟體包,因此需要你的機器上首先安裝好Python語言的環境。關於這一點,請自行在網絡上搜索獲取方法。關於如何安裝Matplotlib請參見這裡:Matplotlib Installing。
  • matplotlib的Python數據可視化和探索——入門指南
    matplotlib——最受歡迎的Python庫,用於數據可視化和探索我喜歡在Python中使用matplotlib。這是我學會掌握的第一個可視化庫,此後一直存在。matplotlib是最受歡迎的用於數據可視化和探索的Python庫,這是有原因的——它提供的靈活性和敏捷性是無與倫比的!
  • Python數據可視化技能提升—用好matplotlib第1篇
    Python想必已經是大家最為熟悉不過的程式語言了,得益於它的易上手性,以及強大的兼容性和開源性,已經受到了廣泛「程序猿」的喜愛哦,通過前面幾次,咱們已經把Python的前世今生和Python的模塊化編程聊完了,這兩天收到朋友的私信說想了解點Python數據可視化相關的東東,俺想了下,就這樣好啦,以後呢,就把Python的基礎知識和實戰的專業知識點進行穿插講解啦,這樣既能讓入門的朋友快速熟悉
  • 30分鐘入門 Matplotlib 繪圖
    Matplotlib是一個主要用於繪製二維圖形的Python庫。
  • 如何用matplotlib繪圖呢?
    什麼是matplotlib?使用過python做數據分析的小夥伴都知道,matplotlib是一款命令式、較底層、可定製性強、圖表資源豐富、簡單易用、出版質量級別的python 2D繪圖庫。matplotlib算是python繪圖的元老級庫,類似程式語言裡的C語言。很多其它的python繪圖庫是基於matplotlib開發的,比如seaborn、ggplot、plotnine、holoviews、basemap等。matplotlib可用於python腳本、python shell、jupyter notebook、web等。
  • matplotlib繪圖的核心原理講解
    作者:朱小五來自:凹凸數據(ID:alltodata)matplotlib是基於Python語言的開源項目,旨在為Python提供一個數據繪圖包。相信大家都用過它來數據可視化,之前我還分享過25個常用Matplotlib圖的Python代碼。可是你了解過它繪圖的核心原理嗎?
  • Python數據可視化之高速繪圖神器PyQtGraph庫,強烈建議收藏
    01為什麼使用PyQtGraph庫我們知道,在Python中,已經有了很多可供選擇的數據可視化庫。比如最經典、使用人數最多的matplotlib庫,其有著十多年的歷史積累,可生成高質量出版級別的圖形,它幾乎已經成了事實上的Python繪圖標準庫。
  • 數字黑洞:python-matplotlib來實現可視化
    1.2 數字黑洞與python-matplotlib可視化1.2.4 python-matplotlib可視化來看看效果:pic5:輸入n為個位數1~6的情況2 matplotlib可視化代碼2:#導入模塊可視化用import matplotlib.pyplot as plt#定一個空列表,存放數值num_data=[]#數字黑洞函數def black(number): if number>1: if number%2==0: number=number/2 else:
  • 使用Matplotlib可視化數據的5個強大技巧
    數據可視化用於以更直接的表示方式顯示數據,並且更易於理解。它可以用柱狀圖、散點圖、折線圖、餅圖等形式形成。許多人仍然使用Matplotlib作為後端模塊來可視化他們的圖形。在這個故事中,我將給你一些技巧,使用Matplotlib創建一個優秀圖表的5個強大技巧。1.
  • 超硬核的 Python 數據可視化教程!
    matplotlibpython中最基本的作圖庫就是matplotlib,是一個最基礎的Python可視化庫,一般都是從matplotlib上手Python數據可視化,然後開始做縱向與橫向拓展。Seaborn是一個基於matplotlib的高級可視化效果庫,針對的點主要是數據挖掘和機器學習中的變量特徵選取,seaborn可以用短小的代碼去繪製描述更多維度數據的可視化效果圖其他庫還包括Bokeh(是一個用於做瀏覽器端交互可視化的庫,實現分析師與數據的交互);Mapbox(處理地理數據引擎更強的可視化工具庫)等等本篇文章主要使用
  • 看了這個總結,其實 Matplotlib 可視化,也沒那麼難!
    作者 | 舊時晚風拂曉城 來源 | 傑哥的IT之旅(ID:Jake_Internet)頭圖 | CSDN 下載自東方IC公眾號「傑哥的IT之旅」後臺回覆:「matplotlib數據可視化」,獲取本文完整數據集。Python 中可以通過 matplotlib 模塊的 pyplot 子庫來完成繪圖。
  • 這幾個常用的python庫你需要知道
    但是對於向小編一樣的小白來說,剛開始學習還是有些困難的,需要首先了解python的一些基礎知識。所以小編就整理了一些常用的python庫,希望對正在學習python的小夥伴有所幫助。1.MatplotlibMatplotlib是一個用於創建二維圖和圖形的底層庫。
  • 學習筆記,從NumPy到Scrapy,學習Python不能錯過這些庫
    二、可視化5. MatplotlibMatplotlib是Python中最常用的可視化工具之一,可以非常方便地創建海量類型地2D圖表和一些基本的3D圖表。Matplotlib最早是為了可視化癲癇病人的腦皮層電圖相關的信號而研發,因為在函數的設計上參考了MATLAB,所以叫做Matplotlib。
  • 可視化工具不知道怎麼選?深度評測5大Python數據可視化工具
    作者 | 劉早起來源 | 早起Python(ID: zaoqi-python)相信很多讀者學習Python就是希望作出各種酷炫的可視化圖表,當然你一定會聽說過Matplotlib、Pyecharts、Seaborn、Plotly、Bokeh這五大工具,本文就將通過真實繪圖來深度評測這五個Python數據可視化的庫,看看到底這幾種工具各有什麼優缺點
  • Python語言中使用pyqtgraph庫實現數據可視化
    背景在Python程式語言中,matplotlib是一種常用的用於數據可視化的繪圖庫,它提供了一套和matlab相似的命令API,開發者可以僅需幾行代碼,便可生成如直方圖,功率譜,條形圖,錯誤圖,散點圖等圖形,適用於交互式繪圖,而且也可以方便地將它作為繪圖控制項嵌入到GUI應用程式中
  • 手把手教你用Matplotlib進行數據可視化
    http://matplotlib.org就像我們用縮寫np來表示NumPy一樣,我們也會用一些標準的縮寫來表示Matplotlib導入:import matplotlib as mpl   import matplotlib.pyplot as plt plt是我們最常用的一個接口。
  • 提高編程能力:Python數據可視化技能提升——好matplotlib第2篇
    上次已經和大家聊了Python數據可視化的經典庫:matplotlib,大家已經知道啦,matplotlib庫是Python中用於繪製二維、三維等這些圖表的數據可視化工具,並且已經和大家聊完了關於matplotlib庫的安裝啦、還有matplotlib庫的兩個函數,分別是plot()函數和scatter()函數哦,相信大家已經對於這兩個函數的用法掌握啦,在這就不多說了哈,如果還想繼續了解
  • python matplotlib畫圖教程學習:使用介紹
    本篇文章介紹matplotlib包使用時,需要掌握的一些基本概念。下圖顯示了matplotlib圖形的基本構成部分,如figure(圖形)、axes(子圖形)、title(標題)、legend(圖例)、Major tick(大標尺刻度)、Minor tick(小標尺刻度)、Major tick label(大標尺刻度數值)、Minor tick label(小標尺刻度數值)、Y axis label(y軸指標說明)、X axis label(x軸指標說明)、Line
  • Matplotlib繪圖|快速定義圖表樣式的小技巧
    Matpltlibrc file 設置圖表屬性Matplotlib 在繪圖過程中,每創建一個圖表,都要對該圖表內的樣式(例如 字體大小、顏色、解析度、橫縱坐標刻度、橫縱坐標標籤)設置一次,重複乏味,如下展示的是一個正弦函數曲線X =np.linspace(-np.pi,np.pi,256,endpoint =True)S = np.sin(X)plt.plot
  • Python可視化Seaborn庫詳解——繪圖方法
    在《Python可視化Seaborn庫詳解——繪圖設置》一文中,我們介紹了Seaborn庫的繪圖參數設置,本文我們將介紹具體的繪圖方法。其實雖然Seaborn庫看著繪圖函數多,但有幾個函數的泛化性非常強,通過參數的設置是可以繪出多種圖形的。為了便於掌握這些函數,本文會對這些方法進行歸納整理,力爭做到提綱挈領的目的。