欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Matplotlib快速入門指南(適合小白)

 更新時間:2023年09月21日 10:49:39   作者:盼小輝丶  
這篇文章主要給大家介紹了關于Matplotlib快速入門指南的相關資料,Matplotlib是一個非常強大的Python畫圖工具,支持跨平臺運行,它不僅是Python常用的2D繪圖庫,同時它也提供了一部分3D繪圖接口,需要的朋友可以參考下

1. Matplotlib 常用模塊

Matplotlib  庫中主要包含兩個重要模塊  pyplob  和  pylab 。 pyplot  是  Matplotlib  中的一個重要模塊,在后續(xù)教程中,我們會經(jīng)常使用  pyplot ,該模塊允許我們自動、隱式地創(chuàng)建圖形及其軸,以實現(xiàn)所需的繪圖;使用該模塊,可以實現(xiàn)圖形的快速繪制,而不需要進行任何圖形或軸的實例化。  pylab  是  Matplotlib  的另一個重要模塊,在需要使用矩陣、執(zhí)行數(shù)學運算等函數(shù)功能時可以使用該模塊,通常情況下不建議使用該模塊。

2. Matplotlib 常用概念

我們已經(jīng)知道, Matplotlib  是一個功能強大的繪圖庫,可以用于繪圖許多類型的圖,包括曲線圖、直方圖、輪廓圖、散點圖、箱型圖等等。在繼續(xù)使用  Matplolib  進行繪圖之前,我們首先對  Matplolib  中常用的一些基本概念和術語進行介紹,以對  Matplolib  有更好的了解。使用  Matplotlib  創(chuàng)建的圖形包含很多部分,主要有  Figure , Axis , Axes Artist 。

  • Figure Figure  是用于創(chuàng)建不同繪圖的畫布, Matplotlib  圖形中的  Figure  可以包含一個或多個  axes/plots 。
  • Axis Matplotlib  圖形中的軸  axis  用于限制繪制圖形的邊界,基本上類似于數(shù)學中的坐標軸概念;例如,對于  3  維繪圖,包含  X  軸、 Y  軸和  Z  軸。
  • Axes axes  通常可以被視為一個繪圖  plot ,圖形中可以包含多個  axes
  • Artist :一個  Matplotlib  生成圖形中的一切都是  Artist  對象,也可以說  Artist  是所有其它類的父類,大多數(shù)  artist  都是在  axes  上所綁定,包括文本對象、 Line2D  對象等。

以上概念間的相關關系如下圖所示:

Matplotlib 常用概念

3. Matplotlib 簡單示例

3.1 導入 Matplotlib 庫

在代碼中使用  Matplotlib  庫時,通常我們會使用一些約定俗成的別名用于簡化代碼:

import matplotlib as mpl
from matplotlib import pyplot as plt

這種導入方法對于以下三種  Matplotlib  的使用方式都是通用的。

3.1 編寫 Python 腳本繪制圖形

接下來,我們編寫一個入門示例,首先利用  Numpy  創(chuàng)建  NumPy  數(shù)組,然后使用  Matplotlib  將其可視化。我們首先編寫一個名為  fistplt.py  的文件,并在其中鍵入以下代碼:

# fistplt.py
import matplotlib as mpl
from matplotlib import pyplot as plt
import numpy as np
x = np.arange(6)
y = x ** 3 + 5 * x - 10
plt.plot(x, y)
plt.show()

在以上代碼中, np.arange(start, stop, step)  函數(shù)用于以給定的間隔  step  創(chuàng)建間距均勻的數(shù)列,起始值  start  和間隔  step  參數(shù)的默認值分別為  0  和  1 ,該函數(shù)的返回值不包含停止值  stop ,即返回半開區(qū)間  [start, stop) 。在以上示例中,我們創(chuàng)建了一個以  0  開始,以  5  結(jié)束的數(shù)組,即  [0, 1, 2, 3, 4, 5] 。接下來,我們使用函數(shù) y = x 3 + 5 × x − 10 y=x^3+5\times x-10 y=x3+5×x−10 根據(jù)輸入 x x x,創(chuàng)建了函數(shù)值 y y y,用于繪制  2D  圖形。

接下來,我們使用函數(shù)  plot()  將其可視化, plot(x, y)  用于繪制一條曲線,其中,曲線點的  x  坐標在列表  x  中給出,曲線點的  y  坐標在列表  y  中給出, plot()  函數(shù)還包含一些其它的可選參數(shù)用于控制曲線樣式。

最后  show()  函數(shù)用于顯示繪制的圖形, show()  函數(shù)會啟動一個事件循環(huán),查找所有當前  Figure  對象,并打開一個或多個顯示  Figure  的交互式窗口。通常  plt.show()  函數(shù)在一個  Python  腳本中只能使用一次,通常位于腳本末尾,應盡量避免在同一腳本中多次使用  show()  函數(shù)。

因此我們可以總結(jié)使用  Matplotlib  進行繪圖的基本步驟:

  • 準備數(shù)據(jù),可以使用純  Python  創(chuàng)建,也可以讀取外部文件或使用  Numpy  等其他庫獲取所需展示的數(shù)據(jù)
  • 使用繪圖函數(shù)進行繪制,例如本節(jié)所用  plot()  函數(shù)用于繪制曲線圖,后續(xù)的學習中,我們也將學習其它多種不同繪圖函數(shù),包括柱狀圖  bar() ,餅圖  pie()  等等
  • 將繪圖結(jié)果進行展示  show()  或保存  savefig('file_name') ,需要注意的是,不能在  show()  之后  savefig() ,這是由于使用  show()  函數(shù)后,畫布會進行刷新,再進行保存時只會保存空白圖形

編寫代碼完成后,在命令行提示符下使用命令: python firstplt.py  運行上述腳本,它會打開一個繪圖窗口,其中顯示的代碼中所繪制的圖形:

繪圖窗口

如上圖所示,可以看到繪圖窗口中還包含多個圖標,其中:

項目Value
“保存”圖標此按鈕用于將所繪制的圖形另存為所需格式的圖片,包括png,jpg,pdf,svg等常見格式
“調(diào)節(jié)”圖標此按鈕用于調(diào)整圖片的尺寸,邊距等圖片屬性
“縮放”圖標此按鈕用于縮放圖片,用于觀察圖形細節(jié),單擊此按鈕后,在圖形上使用鼠標左鍵拖拽進行放大,使用鼠標右鍵拖拽進行縮小
“移動”圖標此按鈕用于移動圖形,可以與“縮放”按鈕結(jié)合觀察放大后圖片的具體細節(jié),同時,單擊此按鈕后,在圖形上使用鼠標右鍵拖拽可以縮放坐標軸的比例
“還原”圖標此按鈕用于將圖形恢復到其初始狀態(tài),取消縮放、移動等操作

NOTE: 在之后的教程中,我們主要使用這種方式進行講解,但是相關的繪圖方法與接下來要講的兩種  Matplotlib  使用方式完全相同。

3.2 在 Jupyter Notebook 中使用Matplotlib

Jupyter Notebook  是一個基于瀏覽器的交互式數(shù)據(jù)分析工具,用于將相關描述、代碼、圖形、HTML元素以及多種內(nèi)容組合到一個可執(zhí)行文檔中。如果要  Jupyter Notebook  中以交互方式展示繪圖結(jié)果,使用  %matplotlib  命令,除此之外,在  Jupyter Notebook  中,還可以選擇將圖形直接嵌入 Notbook 中:

%matplotlib inline

命令  %matplotlib inline  會將繪圖結(jié)果靜態(tài)的嵌入到  Jupyter Notebook  中,而使用命令  %matplotlib  后  Matplotlib  繪制仍將打開一個交互式繪圖窗口來繪制圖形。

然后導入 Matplotlib 的方法與在腳本中完全一致:

import matplotlib as mpl
from matplotlib import pyplot as plt

在下圖中,可以看到使用  %matplotlib  命令時,仍會打開一個交互式繪圖窗口來進行繪制。

交互式繪圖

而在下圖中,可以看到使用  %matplotlib inline  命令則會將繪圖結(jié)果直接靜態(tài)的嵌入到  Jupyter Notebook  中。

靜態(tài)繪圖

3.3 在 IPython Shell 中使用 Matplotlib

如果要在  IPython Shell  中使用  Matplotlib  模式,需要在啟動  ipython  后使用  %matplotlib  魔法命令:

%matplotlib

運行以上命令時,它將給出 Matplotlib 所使用的后端:

Using matplotlib backend: Qt5Agg

在執(zhí)行上述魔法命令后,通過導入  Matplotlib  庫就可以使用  Matplotlib  庫,這與其它方式使用  Matploblib  時的導入方式完全相同:

import matplotlib as mpl
from matplotlib import pyplot as plt

接下里,使用任何繪圖函數(shù)命令都將打開一個交互式繪圖窗口來繪制圖形。

In [1]: %matplotlib
Using matplotlib backend: Qt5Agg
In [2]: import matplotlib as mpl
...: from matplotlib import pyplot as plt
...: import numpy as np
In [3]: x = np.arange(6)
...: y = x ** 3 + 5 * x - 10
...: plt.plot(x,y)
Out[3]: [<matplotlib.lines.Line2D at 0x7f1a0e4b2550>]

相關鏈接

總結(jié) 

到此這篇關于Matplotlib快速入門指南的文章就介紹到這了,更多相關Matplotlib快速入門內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • python pandas模糊匹配 讀取Excel后 獲取指定指標的操作

    python pandas模糊匹配 讀取Excel后 獲取指定指標的操作

    這篇文章主要介紹了python pandas模糊匹配 讀取Excel后 獲取指定指標的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • Python實現(xiàn)歷史記錄功能(實際案例)

    Python實現(xiàn)歷史記錄功能(實際案例)

    很多應用程序都有瀏覽用戶的歷史記錄的功能,瀏覽器可以查看最近訪問過的網(wǎng)頁,現(xiàn)在我們制作了一個簡單的猜數(shù)字的小游戲,添加歷史記錄功能,顯示用戶最近猜過的數(shù)字,如何實現(xiàn)呢?跟隨小編一起看看吧
    2022-04-04
  • 基于Python實現(xiàn)文章信息統(tǒng)計的小工具

    基于Python實現(xiàn)文章信息統(tǒng)計的小工具

    及時的統(tǒng)計可以更好的去分析讀者對于內(nèi)容的需求,了解文章內(nèi)容的價值,以及從側(cè)面認識自己在知識創(chuàng)作方面的能力。本文就來用Python制作一個文章信息統(tǒng)計的小工具?,希望對大家有所幫助
    2023-02-02
  • Python中位運算的詳細用法教程

    Python中位運算的詳細用法教程

    在Python中,位運算是一種對二進制數(shù)進行操作的運算方式,它們直接對二進制位進行操作,而不考慮這些位所表示的實際值,本文將詳細介紹Python中的位運算符,需要的朋友可以參考下
    2024-08-08
  • python列表操作實例

    python列表操作實例

    這篇文章主要介紹了python列表操作方法,實例分析了Python針對列表操作的插入、刪除等各種操作技巧,需要的朋友可以參考下
    2015-01-01
  • python pdfkit 中文亂碼問題的解決方案

    python pdfkit 中文亂碼問題的解決方案

    這篇文章主要介紹了python pdfkit 中文亂碼問題的解決方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • python爬蟲的工作原理

    python爬蟲的工作原理

    本文主要介紹了python爬蟲的工作原理,具有很好的參考價值。下面跟著小編一起來看下吧
    2017-03-03
  • PyCharm調(diào)用matplotlib繪圖時圖像彈出問題詳解

    PyCharm調(diào)用matplotlib繪圖時圖像彈出問題詳解

    這篇文章主要給大家介紹了關于PyCharm調(diào)用matplotlib繪圖時圖像彈出問題的相關資料,文中通過圖文介紹的非常詳細,對大家學習或者使用PyCharm具有一定的參考學習價值,需要的朋友可以參考下
    2022-07-07
  • Python基于datetime或time模塊分別獲取當前時間戳的方法實例

    Python基于datetime或time模塊分別獲取當前時間戳的方法實例

    今天小編就為大家分享一篇關于Python基于datetime或time模塊分別獲取當前時間戳的方法實例,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • python linecache讀取行更新的實現(xiàn)

    python linecache讀取行更新的實現(xiàn)

    本文主要介紹了python linecache讀取行更新的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03

最新評論