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

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

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

1. Matplotlib 常用模塊

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

2. Matplotlib 常用概念

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

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

以上概念間的相關(guān)關(guān)系如下圖所示:

Matplotlib 常用概念

3. Matplotlib 簡單示例

3.1 導(dǎo)入 Matplotlib 庫

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

import matplotlib as mpl
from matplotlib import pyplot as plt

這種導(dǎo)入方法對于以下三種  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ù)的默認(rèn)值分別為  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)  用于繪制一條曲線,其中,曲線點(diǎn)的  x  坐標(biāo)在列表  x  中給出,曲線點(diǎn)的  y  坐標(biāo)在列表  y  中給出, plot()  函數(shù)還包含一些其它的可選參數(shù)用于控制曲線樣式。

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

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

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

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

繪圖窗口

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

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

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

3.2 在 Jupyter Notebook 中使用Matplotlib

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

%matplotlib inline

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

然后導(dǎo)入 Matplotlib 的方法與在腳本中完全一致:

import matplotlib as mpl
from matplotlib import pyplot as plt

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

交互式繪圖

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

靜態(tài)繪圖

3.3 在 IPython Shell 中使用 Matplotlib

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

%matplotlib

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

Using matplotlib backend: Qt5Agg

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

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>]

相關(guān)鏈接

總結(jié) 

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

相關(guān)文章

  • python pandas模糊匹配 讀取Excel后 獲取指定指標(biāo)的操作

    python pandas模糊匹配 讀取Excel后 獲取指定指標(biāo)的操作

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

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

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

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

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

    Python中位運(yùn)算的詳細(xì)用法教程

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

    python列表操作實(shí)例

    這篇文章主要介紹了python列表操作方法,實(shí)例分析了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繪圖時圖像彈出問題詳解

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

    Python基于datetime或time模塊分別獲取當(dāng)前時間戳的方法實(shí)例

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

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

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

最新評論