Matplotlib是用於數據可視化的最流行的Python包之一。 它是一個跨平臺庫,用於根據數組中的數據製做2D圖。 它提供了一個面向對象的API,有助於使用Python GUI工具包(如PyQt,WxPythonotTkinter)在應用程序中嵌入繪圖。 它也能夠用於Python和IPython shell,Jupyter筆記本和Web應用程序服務器。html
面向讀者
本教程專爲但願得到數據可視化基礎知識的學員而設計。shell
前提條件
Matplotlib是用Python編寫的,它使用了Python的數值數學擴展NumPy。 咱們假設本教程的讀者具備Python的基本知識。express
問題反饋
咱們不能保證您在此Matplotlib教程中不會遇到任何問題。本教程中的講解,示例和代碼等只是根據做者的理解來歸納寫出。因爲做者水平和能力有限,所以不能保證全部的編寫文章和示例均能準確無誤。可是若是有遇到任何錯誤或問題,請反饋給咱們,咱們會及時糾正以方便後繼讀者閱讀。編程
教程目錄
本教程主要的內容以下所示 -api
- Matplotlib簡介 - Matplotlib是用於數據可視化的最流行的Python包之一。 它是一個跨平臺庫,用於根據數組中的數據製做2D圖。
- Matplotlib開發環境 - Matplotlib及其依賴包在標準Python包存儲庫中以wheel包的形式提供,可使用pip包管理器將Matplotlib安裝在Windows,Linux以及MacOS系統上。
- Matplotlib Anaconda開發工具 - Anaconda是Python和R編程語言的免費開源發行版,用於大規模數據處理,預測分析和科學計算。
- Matplotlib Jupyter筆記本 - Jupyter是一個鬆散的縮寫,意思是Julia,Python和R.這些編程語言是Jupyter應用程序的第一個目標語言,可是如今,Jupyter技術還支持許多其餘語言。
- Matplotlib Pyplot API - matplotlib.pyplot是命令樣式函數的集合,使Matplotlib像MATLAB同樣工做。每一個Pyplot功能都會對圖形進行一些更改。
- Matplotlib簡單畫圖 - 在Matplotlib中顯示一個簡單的角度線圖,以弧度爲單位,與正弦值相對應。
- Matplotlib pylab模塊 - PyLab是一個很是方便模塊,能夠在單個名稱空間中批量導入matplotlib.pyplot(用於繪圖)和NumPy(用於數學和使用數組)。
- Matplotlib面向對象接口 - 在面向對象的界面中,Pyplot僅用於一些功能,如圖形建立,用戶顯式建立和跟蹤圖形和軸對象。在此級別,用戶使用Pyplot建立圖形,經過這些圖形,能夠建立一個或多個軸對象。
- Matplotlib Figure類 - matplotlib.figure模塊包含Figure類。它是全部plot元素的頂級容器。
- Matplotlib Axes類 - Axes對象是具備數據空間的圖像區域。給定的圖形能夠包含許多軸,但給定的Axes對象只能在一個圖中。軸包含兩個(或在3D狀況下爲三個)Axis對象。
- Matplotlib Multiplots - 在本章中將學習如何在同一畫布上建立多個子圖。
subplot()函數返回給定網格位置的axes對象。
- Matplotlib subplots()函數 - Matplotlib的pyplot API有一個稱爲subplots()的便捷函數,它充當實用程序包裝器,並在單個調用中幫助建立子圖的公共佈局,包括封閉的圖形對象。
- Matplotlib subplot2grid()函數 - Matplotlib subplot2grid()函數在網格的特定位置建立軸對象提供了更大的靈活性。它還容許軸對象跨越多個行或列。
- Matplotlib網格 - axes對象的grid()函數將圖中網格的可見性設置爲on或off。還能夠顯示網格的主要/次要(或二者)刻度。
- Matplotlib格式化軸 - 軸的比例須要設置爲對數(log)而不是正常比例。這是對數標度。在Matplotlib中,能夠經過將axes對象的xscale或vscale屬性設置爲log。
- Matplotlib設置限制 - Matplotlib自動到達要沿着圖的x,y(以及3D圖的狀況下爲z軸)軸顯示的變量的最小值和最大值。可是,可使用set_xlim()和set_ylim()函數顯式設置限制。
- Matplotlib設置刻度和刻度標籤 - 刻度是表示軸上數據點的標記。到目前爲止,Matplotlib在咱們以前的全部例子中都自動接管了軸上間隔點的任務。
- Matplotlib雙軸 - 當繪製具備不一樣單位的曲線時。 Matplotlib經過twinx()和twiny()函數支持此功能。
- Matplotlib條形圖 - 條形圖或條形圖是一種圖表或圖形,它顯示帶有矩形條的分類數據,其高度或長度與它們所表明的值成比例。能夠垂直或水平繪製條形。
- Matplotlib直方圖 - 直方圖是數值數據分佈的精確表示。它是連續變量的機率分佈的估計,它是一種條形圖。
- Matplotlib餅圖 - 餅圖只能顯示一系列數據。餅圖在一個數據系列中顯示項目的大小(稱爲楔形),與項目的總和成比例。餅圖中的數據點顯示爲整個餅圖的百分比。
- Matplotlib散點圖 - 散點圖用於繪製水平軸和垂直軸上的數據點,以試圖顯示一個變量受另外一個變量影響的程度。數據表中的每一行都由一個標記表示,該位置取決於其在X和Y軸上設置的列中的值。
- Matplotlib輪廓圖 - 輪廓圖(有時稱爲「水平圖」)是一種在二維平面上顯示三維表面的方法。 它繪製了y軸上的兩個預測變量X Y和輪廓的響應變量Z。 這些輪廓有時稱爲z切片或等響應值。
- Matplotlib二維箭頭圖 - 箭頭圖將速度矢量顯示爲箭頭,其中份量(u,v)位於點(x,y)。
- Matplotlib箱線圖 - 箱形圖也稱爲須狀圖,顯示包含最小值,第一四分位數,中位數,第三四分位數和最大值的一組數據的摘要。在方塊圖中,繪製從第一個四分位數到第三個四分位數的方框。垂直線穿過中間的框。須狀從每一個四分位數到最小值或最大值。
- Matplotlib提琴圖 - 小提琴圖相似於箱形圖,除了它們還顯示不一樣值的數據的機率密度。這些圖包括數據中位數的標記和表示四分位數範圍的框,如標準框圖中所示。
- Matplotlib三維繪圖 - Matplotlib最初設計時只考慮了二維繪圖,可是在後來的版本中,Matplotlib的二維顯示器上構建了一些三維繪圖實用程序,以提供一組三維數據可視化工具。
28.Matplotlib 3D輪廓圖 - ax.contour3D()函數建立三維等高線圖。它要求全部輸入數據採用二維規則網格的形式,並在每一個點評估Z數據。
- Matplotlib 3D線框圖 - 線框圖採用值網格並將其投影到指定的三維表面上,而且可使獲得的三維形式很是容易可視化。
- Matplotlib 3D曲面圖 - 曲面圖顯示指定的因變量(Y)和兩個獨立變量(X和Z)之間的函數關係。該圖是等高線圖的伴隨圖。曲面圖相似於線框圖,但線框的每一個面都是填充多邊形。
- Matplotlib使用文本 - Matplotlib具備普遍的文本支持,包括對數學表達式的支持,對光柵和矢量輸出的TrueType支持,具備任意旋轉的換行符分隔文本以及unicode支持。
- Matplotlib數學表達式 - 將任何Matplotlib文本字符串中的子集TeXmarkup放在一對美圓符號($)中
- Matplotlib使用圖像 - Matplotlib包中的圖像模塊提供加載,從新縮放和顯示圖像所需的功能,Pillow庫支持加載圖像數據。Matplotlib僅支持PNG圖像。
- Matplotlib變換 - matplotlib包構建在轉換框架之上,能夠在座標系之間輕鬆移動。可使用四個座標系。