91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

matplotlib.pyplot與axes有什么關系

發布時間:2021-01-18 15:57:36 來源:億速云 閱讀:219 作者:Leah 欄目:開發技術

這篇文章將為大家詳細講解有關matplotlib.pyplot與axes有什么關系,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

1.通過plt.xxx()直接繪圖

就像各種教程和書上的常規操作一樣,我們可以用plt.plot(), plt.bar()等繪制不同類型的圖(部分總結如下表)

表一 plt中用于繪圖的部分函數

函數名作用
plt.bar()條形圖
plt.barh()橫排條形圖
plt.boxplot()箱線圖(plt.box()是另一個函數)
plt.hist()頻率直方圖
plt.plot()折線圖

我們可以用plt的其他一些函數來對圖表的標題等進行設置(部分總結如下表)

表二 plt中用于設置的部分函數

函數名作用
plt.title()設置圖表標題
plt.grid()設置圖表網格
plt.xlabel();plt.ylabel設置x;y軸標題
plt.xticks();plt.yticks()設置x;y軸刻度
plt.xlim();plt.ylim()設置x;y軸范圍
plt.annotate()設置標注

(具體的參數和用法詳見 https://matplotlib.org/api/pyplot_summary.html )

用plt繪圖的方便之處,同樣也是它最令人迷惑的地方,就是它沒有一個顯性的對象。
我們甚至可以調用pandas繪圖以后,用表二中的plt函數來對pandas生成的這個圖表進行設置。

例程如下:

import matplotlib.pyplot as plt
from pandas import Series
data = Series([1.47,1.62,1.78,1.94,2.38,2.60],index=['2012','2013','2014','2015','2016','2017'])
#注意下一行的對象是'data',它是一個series對象,調用的是pandas繪圖函數
data.plot(label='income', color = 'r', linestyle=':', marker = 's')#具體的pandas繪圖之后會細講
#但接下來我們甚至可以調用plt的函數對它進行設置
plt.title('Income chart')
plt.xlabel('Year')
plt.ylabel('income')
plt.annotate('Largest point',xy=(5,2.60),xytext=(3,2.5), arrowprops=dict(arrowstyle='->'))
plt.show()

matplotlib.pyplot與axes有什么關系

上面這個例子就展示了pyplot(plt)的特點,不用指明對象就能進行畫圖和設置,當我們在同一個程序中的圖比較少的時候這是方便的,但當我們同一個程序中的圖很多的時候,這種沒有顯性對象的方式會導致我們沒有辦法重新調用之前的圖(因為沒有對象名)也會給人一種很不踏實的感覺

2.實例化figure和axes對象后繪圖

就像前文提到的,plt只是一個接口而不是對象。
在matplotlib中,有兩個重要的對象類型:figure對象可以把它想成一張空白圖紙,在上面可以繪制一個或多個axes對象(還可以有其他對象等)。axes對象是一個圖像的主要部分(它包括了圖線、xy軸等部分)。
我們可以使用plt接口生成figure對象和axes對象,然后對axes對象調用方法來實現畫圖和設置。
總體思路是:

  1. 實例化figure對象

  2. 實例化axes對象

  3. 對axes對象調用方法進行畫圖和設置

例程如下:

import matplotlib.pyplot as plt
from pandas import Series
data = Series([1.47,1.62,1.78,1.94,2.38,2.60],index=['2012','2013','2014','2015','2016','2017'])
#調用plt接口,實例化figure1對象
figure1 = plt.figure(facecolor='w')#faceclolr設置背景顏色
#實例化ax1對象
ax1 = figure1.add_subplot(111)#ax1是figure1的第1行第一列的第1張圖表
#注意下一行的對象是'ax1',它是一個axes對象,調用的是matplotlib.axes繪圖函數
ax1.plot(data,label='income', color = 'r', linestyle=':', marker = 's')
#接下來我們調用ax1的方法對它進行設置
ax1.set_title('Income chart')
ax1.set_xlabel('Year')
ax1.set_ylabel('income')
ax1.annotate('Largest point',xy=(5,2.60),xytext=(3,2.5), arrowprops=dict(arrowstyle='->'))

matplotlib.pyplot與axes有什么關系

用這種方式畫出來的圖,每一個對象都有它自己的名字,方便后面繼續調用、修改。代碼也就多了兩行實例化的過程,并沒有麻煩很多,個人很喜歡用這種方式畫圖(也給人一種很踏實的感覺)。

類比上面的表一和表二,給出對于axes對象的方法函數表:

表三 axes對象用于繪圖的部分方法函數

函數名作用
ax.bar()條形圖
ax.barh()橫排條形圖
ax.boxplot()箱線圖
ax.hist()頻率直方圖
ax.plot()折線圖

表四 axes對象中用于設置的部分方法函數

函數名作用
ax.set_title()設置圖表標題
ax.set_xlabel(); ax.set_ylabel設置x;y軸標題
ax.set_xticks(); ax.set_yticks()設置x;y軸刻度
ax.set_xlim(); ax.set_ylim()設置x;y軸范圍
ax.annotate()設置標注

(具體的參數和用法詳見 https://matplotlib.org/api/axes_api.html )

注意表一和表三,表二和表四的異同:

  1. 表一表二中的plt是固定的名字,不論畫什么都是plt.xxx(),而表三和表四中ax.xxx()中的ax要改成你實例的對象名。

  2. 注意對比表二和表四,很多作用相同的東西,跑到了axes這里要多加一個set_

關于matplotlib.pyplot與axes有什么關系就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

上杭县| 宜兰市| 新营市| 乐亭县| 永安市| 佛学| 巴南区| 宜丰县| 渝中区| 淮安市| 阜南县| 井冈山市| 浙江省| 延津县| 韶山市| 东城区| 门源| 礼泉县| 清涧县| 大荔县| 十堰市| 景东| 乳源| 息烽县| 海城市| 大理市| 荆州市| 怀远县| 鹤壁市| 水城县| 涞水县| 祁东县| 庄河市| 北碚区| 顺平县| 土默特左旗| 永胜县| 长顺县| 阜阳市| 赞皇县| 汾西县|