最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2022年07月05日 09:58:05   作者:pythonic生物人  
Matplotlib是Python中最受歡迎的數(shù)據(jù)可視化軟件包之一,它是?Python常用的2D繪圖庫,同時它也提供了一部分3D繪圖接口。本文將詳細介紹Matplotlib的繪圖方式,需要的可以參考一下

1、matplotlib之父簡介

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

  • 1968 出身于美國的田納西州代爾斯堡。
  • 之后求學于普林斯頓大學。
  • 2003年發(fā)布Matplotlib 0.1版,初衷是博士研究期間為可視化癲癇患者的腦電圖(ECoG)數(shù)據(jù);
  • 之后,美國國家航空航天局(NASA)太空望遠鏡科學研究所的哈勃望遠鏡背后團隊(Hubble Space Telescope),選擇Matplotlib作為了畫圖程序包,并一直為 Matplotlib 開發(fā)團隊提供資金支持,從而大大促進了 Matplotlib 的發(fā)展。
  • 2004 年于芝加哥大學獲得神經(jīng)生物學方向博士學位。
  • 2005年供職于芝加哥的一家投資公司,從事量化分析(真是生物人遍布各行各業(yè))。
  • 之后以董事的身份創(chuàng)立了專為數(shù)據(jù)科學贊助的非盈利組織  NumFOCUS Foundation。
  • 2007年美國鳳凰號探測器(Phoenix spacecraft)登錄火星,NASA使用Matplotlib可視化了第一張黑洞的圖片。
  • 2012年因John D. Hunter個人對Python和數(shù)據(jù)科學方向的杰出貢獻,被Python社區(qū)授予第一屆PSF Distinguished Service Awards獎項  。
  • 2012.08 因患惡性結(jié)腸癌英年早逝,享年44歲。
  • 雖然Matplotlib之父已經(jīng)去世,但是,大量開源愛好者在fork著這個可視化包,延續(xù)著輝煌 https://github.com/matplotlib。
  • NumFOCUS 組織每年夏天會贊助1到2個學生,在高級貢獻者的帶領下,為Matplolib全職工作10周左右(2018年獎金多達$6,000):https://numfocus.org/programs/john-hunter-technology-fellowship
  • 2013年起,SciPy每年舉行可視化比賽:John Hunter Excellence in Plotting Competition,一是為了為了紀念John Hunter的貢獻,二是為了強調(diào)數(shù)據(jù)可視化對科學進步的重要性,并展示開源軟件力量。;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層

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

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

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

axes層

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

設置每個圖的外觀網(wǎng)格線(grid)的開關、坐標軸(axis)開關等;

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

設置坐標軸范圍(scale)、坐標軸刻度(tricks)等;

下圖中具有兩個axes:

一張matplotlib圖的組成

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

3、matplotlib兩種畫繪圖方法

方法一:使用matplotlib.pyplot

matplotlib.pyplot簡介

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

pyplot方法繪圖舉例

#matplotlib.pyplot 接口
import numpy as np
import matplotlib.pyplot as plt#導入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()

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

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

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')

#兩種設置標題的方法
#axs[0].set_title('haha')#使用matplotlib.axes.Axes的set_title方法設置小標題
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方法設置Figure標題
plt.show()

以上就是詳解Python中matplotlib模塊的繪圖方式的詳細內(nèi)容,更多關于Python matplotlib繪圖方式的資料請關注腳本之家其它相關文章!

相關文章

  • python之pil的使用詳解

    python之pil的使用詳解

    Pillow是PIL的一個派生分支,但如今已經(jīng)發(fā)展成為比PIL本身更具活力的圖像處理庫。我們需要安裝的就是Pillow。這篇文章主要介紹了python之pil的使用,需要的朋友可以參考下
    2021-10-10
  • pandas中的Timestamp只保留日期不顯示時間

    pandas中的Timestamp只保留日期不顯示時間

    這篇文章主要介紹了pandas中的Timestamp只保留日期不顯示時間,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • python數(shù)據(jù)分析之如何刪除value=0的行

    python數(shù)據(jù)分析之如何刪除value=0的行

    這篇文章主要給大家介紹了關于python數(shù)據(jù)分析之如何刪除value=0的行的相關資料,文中通過實例代碼以及圖文介紹的非常詳細,對大家學習或者使用Python具有一定的參考學習價值,需要的朋友可以參考下
    2022-12-12
  • Django驗證碼的生成與使用示例

    Django驗證碼的生成與使用示例

    關于django的驗證碼的使用,在網(wǎng)上找到了相關的資料,現(xiàn)在整理一下分享給大家,下面這篇文章主要給大家介紹了關于Django驗證碼的生成與使用的相關資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-05-05
  • python?Pangu自動美化中文排版工具使用探索

    python?Pangu自動美化中文排版工具使用探索

    這篇文章主要為大家介紹了python?Pangu自動美化中文排版工具使用探索,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2024-01-01
  • python模擬練習題總結(jié)(附答案)

    python模擬練習題總結(jié)(附答案)

    這篇文章主要給大家介紹了關于python模擬練習題的相關資料,文中涉及質(zhì)因數(shù)分解、開根變換、立方體拼接、日期計算、按位異或、停車場收費、整數(shù)操作、減法運算、相鄰數(shù)之和、以及最長勾子序列的尋找,每題都有具體的輸入輸出示例和代碼計算過程,需要的朋友可以參考下
    2024-11-11
  • python隨機取list中的元素方法

    python隨機取list中的元素方法

    下面小編就為大家分享一篇python隨機取list中的元素方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • python 寫一個文件分發(fā)小程序

    python 寫一個文件分發(fā)小程序

    這篇文章主要介紹了python 寫一個文件分發(fā)小程序,幫助大家更好的理解和學習python,感興趣的朋友可以了解下
    2020-12-12
  • Python生成隨機數(shù)字和字符詳情

    Python生成隨機數(shù)字和字符詳情

    這篇文章主要介紹了Python生成隨機數(shù)字和字符詳情,random是python自帶庫,使用前導入import?random即可,更多相關內(nèi)容需要的朋友可以參考一下
    2022-07-07
  • Python實現(xiàn)輕松切割MP3文件

    Python實現(xiàn)輕松切割MP3文件

    有時我們需要將大型MP3文件切割成較小的部分以便上傳或發(fā)送,所以本文為大家整理了可以輕松切割MP3文件的Python腳本,希望對大家有所幫助
    2023-06-06

最新評論

南川市| 巴林左旗| 孝昌县| 曲阜市| 和政县| 伊宁市| 金堂县| 霸州市| 渝中区| 天镇县| 天门市| 江达县| 凌源市| 蕲春县| 苍南县| 醴陵市| 台中市| 新巴尔虎左旗| 图木舒克市| 确山县| 班玛县| 九江市| 平南县| 惠东县| 肇庆市| 安达市| 呼玛县| 子洲县| 大英县| 冷水江市| 正安县| 临沭县| 余干县| 普陀区| 宁河县| 博爱县| 右玉县| 台南市| 津南区| 本溪市| 白山市|