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

python Matplotlib數(shù)據(jù)可視化(1):簡單入門

 更新時間:2020年09月30日 09:43:45   作者:奧辰  
這篇文章主要介紹了python Matplotlib的相關資料,幫助大家入門matplotlib,繪制各種圖表,感興趣的朋友可以了解下

1 matplot入門指南

matplotlib是Python科學計算中使用最多的一個可視化庫,功能豐富,提供了非常多的可視化方案,基本能夠滿足各種場景下的數(shù)據(jù)可視化需求。但功能豐富從另一方面來說也意味著概念、方法、參數(shù)繁多,讓許多新手望而卻步。

據(jù)我了解,大部分人在對matplotlib接觸不深時都是邊畫圖邊百度,諸如這類的問題,我想大家都似曾相識:Python如何畫散點圖,matplotlib怎么將坐標軸標簽旋轉45度,怎么設置圖例字體大小等等。無論針對哪一個問題,往往都有多種解決方法,搜索引擎這時候當然會很熱情得將各種五花八門、看似合理、各不相同的解決方案推給我們,對于新手往往就迷失在這些紛雜的答案中,然后覺得matplotlib好復雜。matplotlib設計原則就是追求對每一個圖表細節(jié)的完全控制,所以matplotlib源碼中各種對象很多,甚至各對象間相互應用,錯綜復雜,對同一個對象的設置經(jīng)??梢哉{用不同的方法來實現(xiàn),這是matplotlib入門難的原因之一。

對于matplotlib入門階段學習曲線陡峭,我認為還有一個更加重要的原因。無論是在各種出版書籍還是網(wǎng)絡博客中,都少有資料對matplotlib進行深入的系統(tǒng)介紹,大多淺嘗輒止。這些流于表層的資料對于如何用matplotlib作圖沒有進行深入的分析,大多只介紹如何調用pyplot模塊中的方法進行作圖。pyplot是matplotlib中提供的一個頂層模塊,提供許多方法實現(xiàn)了快速、簡便作圖,幾行代碼就可以完成一幅圖的創(chuàng)作,但是,這種方法作圖卻讓新手對matplotlib圖形的認識變得粗淺,也很難實現(xiàn)對圖形的更加精細控制,底層定制能力有限,最終讓新手對matplotlib咬牙切齒。這種方法就想吃快餐,快速方便,但是吃多了難免營養(yǎng)不良。

面對matplotlib入門階段的這兩個問題,怎么辦呢?

matplotlib其實提供了兩類接口實現(xiàn)作圖。第一類基于狀態(tài)的接口,就是上文中提到的pyplot進行作圖,這類接口對matplotlib中更加底層的對象進行封裝,以仿MATLAB作圖風格的方式讓作圖更加簡單方便。至于為什么叫基于狀態(tài),我的觀點是pyplot所有作圖動作都是默認在當前出于激活的元素上進行,要切換到其他元素作圖,就要使另一元素激活。第二類接口是基于對象的接口,這種方法是使用買你想對象的方法來作圖,認為圖形中每一個元素都是一種對象,通過調用更加底層對象來實現(xiàn)作圖。這種方法代碼量更多,但是讓用戶對matplotlib圖形的構成有了更深的認識,也讓用戶對圖形的每一個元素有更強的掌控力。

所以,在使用matplotlib作圖過程中,本文建議在學習階段多使用基于對象的方法進行作圖,只要掌握了基于對象的方法作圖,后面使用pyplot作圖自然水到渠成。本文后續(xù)大部分介紹也是基于這一種方法。

2 安裝與導入

  • 安裝

matplotlib的安裝與Python中其他第三方庫安裝方法無異

pip install -i https://pypi.douban.com/simple matplotlib
  • 導入

進行導入操作時通常不會直接將整個matplotlib包導入,而是導入matplotlib包中最為常用的pyplot模塊,一般的,我們習慣將pyplot導入時起一個簡稱plt。

import matplotlib.pyplot as plt

3 圖的構成

在使用matplotlib進行繪圖之前,理解matplotlib圖表構成是非常有必要的。matplotlib圖表有三個非常重要的概念:figure、axes、axies。 三者之間的關系構成了matplotlib圖表的整體布局,如下圖所示。

在matplotlib圖表中,至少有一個figure,figure可以理解為一張畫布,畫布上面可以畫多個axes,這里的axes我理解為坐標系,每個坐標系可以有多個axis,也就是有多條坐標軸。

下圖是在matplotlib官方文檔中展示的一張圖片,進一步的很清晰展示了matplotlib圖表布局上的組件構成:

上圖中,藍色部分文本是各組件的名稱,請牢記各組件的名稱,方便在對各組件進行設置是調用函數(shù),因為組件的名稱與函數(shù)名是相似的。其實,在matplotlib中,在figure中的所有組件,包括圖一中的axes、axies甚至是figure和圖中出現(xiàn)的所有組件都稱為artist,因為這些組件均繼承于一個名為Artist的父類。根據(jù)所在位置和作用,我們可以將matplotlib所有artist可以劃分到三個層次:

(1)figure層:畫布,這是最低層的容器,用于容納axes。
(2)axes層:坐標系,也成為軸域,第二層容器,用于容納axis。
(3)axis層:坐標軸,也包含坐標軸上更加細微的組件。
使用matplotlib進行作圖時,按照這個層次結構順序進行創(chuàng)建完成作圖。接下來,我們分別對figure、axes、axis進行展開介紹。

3 總結

本篇博客主要是為matplotlib如何入門以及matplotlib宏觀層面的容器布局做了一番介紹,希望這番介紹能夠讓各位讀者對matplotlib有一個更加正確、深入的認識。

最后,還是想說一句,matplotlib很強,只不過目前無論是網(wǎng)絡上還是市場上的matplotlib資料大多屬于快餐類別,吃多了就容易營養(yǎng)不良,造成后繼無力。當然,pyplot只是快餐,卻不是毒藥,因為pyplot中確實提供了很多強大的方法實習縣對圖形的管理。本文強烈建議(官方文檔中也提出了),如果只是簡單得對數(shù)據(jù)進行展示,那么當然可以使用pyplot完成,但是如果需要更加精細的對圖片進行設置,那么建議使用pyplot中的方法來創(chuàng)建matplotlib圖形的容器對象,因為pyplot創(chuàng)建容器對象可以方便得納入matplotlib序列中進行管理,有了容器對象之后,后續(xù)的畫圖,請勿通過再pyplot進行,最好是通過容器對象進行操作。

入門學習階段,無論如何,請走基于對象作圖這條路?。?!

在下一篇博客中,我將對這三層容器對象開始,循序漸進地介紹基于對象的作圖方式。

作者:奧辰

微信號:chb1137796095

Github:https://github.com/ChenHuabin321

歡迎加V交流,共同學習,共同進步!

以上就是python Matplotlib數(shù)據(jù)可視化(1):簡單入門的詳細內容,更多關于python Matplotlib數(shù)據(jù)可視化的資料請關注腳本之家其它相關文章!

相關文章

  • Python語言規(guī)范之Pylint的詳細用法

    Python語言規(guī)范之Pylint的詳細用法

    Pylint 是一個 Python 代碼分析工具,它分析 Python 代碼中的錯誤,查找不符合代碼風格標準(Pylint 默認使用的代碼風格是 PEP 8)和有潛在問題的代碼,接下來通過本文給大家介紹Python Pylint的使用,感興趣的朋友一起看看吧
    2021-06-06
  • 關于python處理大型json文件的方法

    關于python處理大型json文件的方法

    這篇文章主要介紹了python處理大型json文件的方法,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • Python實現(xiàn)帶參數(shù)的用戶驗證功能裝飾器示例

    Python實現(xiàn)帶參數(shù)的用戶驗證功能裝飾器示例

    這篇文章主要介紹了Python實現(xiàn)帶參數(shù)的用戶驗證功能裝飾器,結合實例形式分析了Python用戶驗證裝飾器具體定義及使用技巧,需要的朋友可以參考下
    2018-12-12
  • python實現(xiàn)簡易版計算器

    python實現(xiàn)簡易版計算器

    這篇文章主要為大家詳細介紹了python實現(xiàn)簡易版計算器,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • Python實現(xiàn)蟻群算法

    Python實現(xiàn)蟻群算法

    本文主要介紹了Python實現(xiàn)蟻群算法,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • python opencv實現(xiàn)切變換 不裁減圖片

    python opencv實現(xiàn)切變換 不裁減圖片

    這篇文章主要為大家詳細介紹了python opencv實現(xiàn)切變換,不裁減圖片,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • Python pip install之SSL異常處理操作

    Python pip install之SSL異常處理操作

    這篇文章主要介紹了Python pip install之SSL異常處理操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • python實現(xiàn)可將字符轉換成大寫的tcp服務器實例

    python實現(xiàn)可將字符轉換成大寫的tcp服務器實例

    這篇文章主要介紹了python實現(xiàn)可將字符轉換成大寫的tcp服務器,通過tcp服務器端實現(xiàn)針對字符的轉換與返回功能,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-04-04
  • Python、Javascript中的閉包比較

    Python、Javascript中的閉包比較

    這篇文章主要介紹了Python、Javascript中的閉包比較,本文分別講解了Python和Javascript中的閉包,分對它們的不同做了一個簡單的比較,需要的朋友可以參考下
    2015-02-02
  • 跟老齊學Python之Import 模塊

    跟老齊學Python之Import 模塊

    本文主要講解了基本的import模塊方法,首先從模塊的定義入手,接著講訴如何自己編寫模塊,非常簡單實用,有需要的朋友可以參考下
    2014-10-10

最新評論

隆化县| 定陶县| 呼伦贝尔市| 唐河县| 淅川县| 长治县| 石景山区| 崇信县| 巢湖市| 通海县| 胶南市| 玉林市| 上犹县| 江山市| 鹤山市| 成武县| 大城县| 阜新市| 和林格尔县| 南川市| 韩城市| 司法| 枣庄市| 紫云| 江城| 鹤山市| 丹阳市| 新乡市| 中牟县| 互助| 财经| 乌鲁木齐县| 山丹县| 阜南县| 关岭| 福州市| 高雄市| 西平县| 旬阳县| 颍上县| 栖霞市|