亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

詳解Python中matplotlib模塊的繪圖方式

89542767 / 608人閱讀

  matplotlib作為常見的可視化繪圖工具,在工作當(dāng)中,應(yīng)用還是比較的廣泛的,那么,我們要怎么使用python這門語言去進(jìn)行繪圖呢?下面就給大家詳細(xì)解答下。


  1、matplotlib之父簡介


  matplotlib之父John D.Hunter已經(jīng)去世,他的一生輝煌而短暫,但是他開發(fā)的的該開源庫還在繼續(xù)著輝煌。國內(nèi)介紹的資料太少了,查閱了一番整理如下:


  1968出身于美國的田納西州代爾斯堡。


  之后求學(xué)于普林斯頓大學(xué)。


  2003年發(fā)布Matplotlib 0.1版,初衷是博士研究期間為可視化癲癇患者的腦電圖(ECoG)數(shù)據(jù);


  之后,美國國家航空航天局(NASA)太空望遠(yuǎn)鏡科學(xué)研究所的哈勃望遠(yuǎn)鏡背后團(tuán)隊(Hubble Space Telescope),選擇Matplotlib作為了畫圖程序包,并一直為Matplotlib開發(fā)團(tuán)隊提供資金支持,從而大大促進(jìn)了Matplotlib的發(fā)展。


  2004年于芝加哥大學(xué)獲得神經(jīng)生物學(xué)方向博士學(xué)位。


  2005年供職于芝加哥的一家投資公司,從事量化分析(真是生物人遍布各行各業(yè))。


  之后以董事的身份創(chuàng)立了專為數(shù)據(jù)科學(xué)贊助的非盈利組織NumFOCUS Foundation。


  2007年美國鳳凰號探測器(Phoenix spacecraft)登錄火星,NASA使用Matplotlib可視化了第一張黑洞的圖片。


  2012年因John D.Hunter個人對Python和數(shù)據(jù)科學(xué)方向的杰出貢獻(xiàn),被Python社區(qū)授予第一屆PSF Distinguished Service Awards獎項。


  2012.08因患惡性結(jié)腸癌英年早逝,享年44歲。


  雖然Matplotlib之父已經(jīng)去世,但是,大量開源愛好者在fork著這個可視化包,延續(xù)著輝煌https://github.com/matplotlib。


  NumFOCUS組織每年夏天會贊助1到2個學(xué)生,在高級貢獻(xiàn)者的帶領(lǐng)下,為Matplolib全職工作10周左右(2018年獎金多達(dá)$6,000):https://numfocus.org/programs/john-hunter-technology-fellowship。


  2013年起,SciPy每年舉行可視化比賽:John Hunter Excellence in Plotting Competition,一是為了為了紀(jì)念John Hunter的貢獻(xiàn),二是為了強調(diào)數(shù)據(jù)可視化對科學(xué)進(jìn)步的重要性,并展示開源軟件力量。;2020年報名截止日期為06月01號,獎金優(yōu)渥(1st prize:$1000;2nd prize:$750;3rd prize:$500):https://jhepc.github.io/index.html。


  2、matplotlib圖形結(jié)構(gòu)


  figure層


  指整張圖,可設(shè)置整張圖的分辨率(dpi),長寬(figsize)、標(biāo)題(title)等特征;


  可包含多個axes,可簡單理解為多個子圖(下圖為兩個axes);


  figure置于canvas系統(tǒng)層之上,用戶不可見。

01.png

  axes層


  每個子圖,可以繪制各種圖形,例如柱狀圖(bar),餅圖(pie函數(shù)),箱圖(boxplot)等;


  設(shè)置每個圖的外觀網(wǎng)格線(grid)的開關(guān)、坐標(biāo)軸(axis)開關(guān)等;


  設(shè)置每個坐標(biāo)軸(axis)的名字(label)、子圖標(biāo)題(title)、圖例(legend)等;


  設(shè)置坐標(biāo)軸范圍(scale)、坐標(biāo)軸刻度(tricks)等;


  下圖中具有兩個axes:

02.png

  一張matplotlib圖的組成

03.png

  下面這張matplotlib圖包含一張圖的常見元素,例如標(biāo)題、坐標(biāo)軸、軸標(biāo)簽、刻度、文本注釋、圖例等。


  3、matplotlib兩種畫繪圖方法


  方法一:使用matplotlib.pyplot


  matplotlib.pyplot簡介


  這種繪圖主要使用pyplot模塊,pyplot.py代碼量有3000多行(windows下存儲于xxxsite-packagesmatplotlibpyplot.py),該腳本里面有大量def定義的函數(shù),繪圖時就是調(diào)用pyplot.py中的函數(shù)。


  pyplot方法繪圖舉例


  #matplotlib.pyplot接口
  import numpy as np
  import matplotlib.pyplot as plt#導(dǎo)入pyplot,matplotlib.pyplot簡寫為plt
  def f(t):
  return np.exp(-t)*np.cos(2*np.pi*t)
  t1=np.arange(0.0,5.0,0.1)
  t2=np.arange(0.0,5.0,0.02)
  plt.figure(dpi=100)
  plt.subplot(211)
  plt.plot(t1,f(t1),color='tab:blue',marker='o')
  plt.plot(t2,f(t2),color='black')
  plt.title('demo')
  plt.subplot(212)
  plt.plot(t2,np.cos(2*np.pi*t2),color='tab:orange',linestyle='--')
  plt.suptitle('matplotlib.pyplot api')
  plt.show()

  

04.png

      方法二:面向?qū)ο蠓椒?/p>


  畫比較復(fù)雜的圖形時,面向?qū)ο蠓椒〞奖?。這種繪圖方式主要使用matplotlib的兩個子類:matplotlib.figure.Figure和matplotlib.axes.Axes,畫每張圖時,畫布為matplotlib.figure.Figure的一個實例,每個子圖為matplotlib.axes.Axes的一個實例,分別可以繼承父類的所有方法,也就是說你繪圖時,你想設(shè)置的元素(網(wǎng)格線啊,坐標(biāo)刻度啊等)都可以在二者的屬性中找出來使用。


  matplotlib.figure.Figure


  該對象主要用于figure的調(diào)整


  matplotlib.axes.Axes


  面向?qū)ο蠓椒ɡL圖舉例


  import numpy as np
  import matplotlib.pyplot as plt
  def f(t):
  return np.exp(-t)*np.cos(2*np.pi*t)
  t1=np.arange(0.0,5.0,0.1)
  t2=np.arange(0.0,5.0,0.02)
  fig,axs=plt.subplots(2,dpi=100)
  #fig為matplotlib.figure.Figure對象的實例figure
  #axs為matplotlib.axes.Axes對象實例(每個子圖)組成的numpy.ndarray
  axs[0].plot(t1,f(t1),color='tab:blue',marker='o')
  axs[0].plot(t2,f(t2),color='black')
  #兩種設(shè)置標(biāo)題的方法
  #axs[0].set_title('haha')#使用matplotlib.axes.Axes的set_title方法設(shè)置小標(biāo)題
  axs[0].set(title='demo1')
  axs[1].plot(t2,np.cos(2*np.pi*t2),color='tab:orange',linestyle='--')
  fig.suptitle('matplotlib object-oriented')#使用matplotlib.figure.Figure中的suptitle方法設(shè)置Figure標(biāo)題
  plt.show()

05.png

  綜上所述,這篇文章就給大家介紹到這里了,希望可以給大家?guī)韼椭?/p>

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/128333.html

相關(guān)文章

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

      小編寫這篇文章的主要目的,主要是來給大家解答關(guān)于Python Pycharm的一些相關(guān)問題,包括涉及到如何調(diào)用其maplotlib的相關(guān)繪圖問題,另外還涉及到圖像彈出問題等的一些相關(guān)介紹。那么,具體問題怎么解答呢?下面就給大家詳細(xì)解答下?! 栴}描述  在PyCharm中調(diào)用matplotlib繪制圖像時,默認(rèn)圖像會在控制臺輸出(如圖),當(dāng)繪制圖像較多時,控制臺輸出方式很不直觀?! 栴}解決 ...

    89542767 評論0 收藏0
  • Python--matplotlib繪圖可視化知識點整理

    摘要:本文作為學(xué)習(xí)過程中對一些常用知識點的整理,方便查找。所有繪圖操作僅對當(dāng)前圖和當(dāng)前坐標(biāo)有效。表示把圖標(biāo)分割成的網(wǎng)格。每個對象都是一個擁有自己坐標(biāo)系統(tǒng)的繪圖區(qū)域。避免比例壓縮為橢圓數(shù)據(jù)可視化入門教程繪圖核心剖析如何調(diào)整子圖的大小 本文作為學(xué)習(xí)過程中對matplotlib一些常用知識點的整理,方便查找。 強烈推薦ipython無論你工作在什么項目上,IPython都是值得推薦的。利用ipyt...

    nifhlheimr 評論0 收藏0
  • 快速入門 Matplotlib 繪圖

    摘要:概述是使用開發(fā)的一個繪圖庫,是界進(jìn)行數(shù)據(jù)可視化的首選庫??梢酝ㄟ^圖形示例來快速瀏覽所有支持的圖形。最后,調(diào)用把繪制好的圖形顯示出來。對應(yīng)于三個參數(shù),表示行,表示列,表示位置。因此,表示在圖表中總共有個圖形,當(dāng)前新增的圖形添加到位置。 showImg(https://segmentfault.com/img/bV6EPD?w=542&h=130); 概述 Matplotlib 是使用 P...

    Hujiawei 評論0 收藏0
  • 【數(shù)據(jù)科學(xué)系統(tǒng)學(xué)習(xí)】Python # 數(shù)據(jù)分析基本操作[三] matplotlib

    摘要:有一些表示常見圖形的對象稱為塊,完整的集合位于。中的繪圖函數(shù)在中,有行標(biāo)簽列標(biāo)簽分組信息。密度圖通過計算可能會產(chǎn)生觀測數(shù)據(jù)的連續(xù)概率分布的估計而產(chǎn)生的。在探索式數(shù)據(jù)分析工作中,同時觀察一組變量的散布圖是很有意義的。 我們在上一篇介紹了 pandas,本篇介紹 matplotlib。 繪圖和可視化 一個用于創(chuàng)建出版質(zhì)量圖表的桌面繪圖包。 Matplotlib API入門 Figure ...

    BDEEFE 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<