用 matplotlib 自定義添加 “哆啦A夢(mèng)”背景圖

matplotlib簡(jiǎn)介

matplotlib是Python數(shù)據(jù)分析“三劍客”中,用于進(jìn)行繪圖可視化的庫(kù)。也是Python可視化庫(kù)種大家最早接觸的一個(gè)庫(kù),基于這個(gè)庫(kù),我們差不多可以完成我們工作、學(xué)習(xí)中想要展示的圖形。
matplotlib庫(kù)的學(xué)習(xí),其實(shí)不那么簡(jiǎn)單,但是又是那么簡(jiǎn)單。對(duì)于剛剛學(xué)習(xí)這個(gè)庫(kù)的朋友來(lái)說(shuō),他會(huì)覺(jué)得這個(gè)庫(kù)的代碼、參數(shù)怎么那么多?都不知道每一步該寫(xiě)什么。但是隨著你慢慢深入的學(xué)習(xí)和了解以后,你會(huì)發(fā)現(xiàn):掌握了繪圖原理以后,一切都是那么的簡(jiǎn)單。
matplotlib繪圖原理:matplotlib繪圖原理
matplotlib如何更換繪圖背景呢?
前面對(duì)于matplotlib有一定的了解之后,接下來(lái),我們需要看看,怎么在繪圖的同時(shí),能夠修改matplotlib的繪圖背景呢?

任何知識(shí)的存在,一定是有它存在的必要的,如果說(shuō)對(duì)你沒(méi)用,只是說(shuō)目前你不需要它。但是,技多不壓身,會(huì)總比不會(huì)好,知道總比未知強(qiáng)。
本文的講述,我們主要是圍繞“如何修改繪圖背景展開(kāi)說(shuō)明”,因此,僅用一個(gè)簡(jiǎn)單的折線圖為例,為大家講述。
1)簡(jiǎn)單說(shuō)明
我們知道:如果想要使用matplotlib繪制一個(gè)圖形,首先,需要初始化一張畫(huà)布figure,畫(huà)布上面會(huì)有一個(gè)坐標(biāo)系axes,我們最終的圖形就是在這個(gè)坐標(biāo)系上進(jìn)行繪制的。同時(shí),每一個(gè)坐標(biāo)系上繪制的每一個(gè)圖形,還有一個(gè)坐標(biāo)軸(如圖所示)?,F(xiàn)在你清楚這些概念就行了。

在進(jìn)行下面的講解之前,我們先導(dǎo)入matplotlib庫(kù)。
import?matplotlib.pyplot?as?plt2)圖形不添加任何顏色
plt.figure(figsize=(4,4.5))
x?=?[1,2,3]
y?=?[2,4,6]
plt.plot(x,y)
plt.show()結(jié)果如下:

3)給畫(huà)布figure添加背景色
#?為畫(huà)布設(shè)置一個(gè)背景
fig?=?plt.figure(figsize=(4,4.5))
#?set_facecolor用于設(shè)置背景顏色
fig.patch.set_facecolor('red')
#?set_alpha用于指定透明度
fig.patch.set_alpha(0.6)
x?=?[1,2,3]
y?=?[2,4,6]
plt.plot(x,y)
plt.show()結(jié)果如下:

4)給坐標(biāo)系也添加背景色
#?為畫(huà)布設(shè)置一個(gè)背景
fig?=?plt.figure(figsize=(4,4.5))
fig.patch.set_facecolor('red')
fig.patch.set_alpha(0.6)
#?為坐標(biāo)系設(shè)置一個(gè)背景
ax?=?fig.add_subplot(111)
ax.patch.set_facecolor('yellow')
ax.patch.set_alpha(1)
x?=?[1,2,3]
y?=?[2,4,6]
plt.plot(x,y)
plt.show()結(jié)果如下:

5)給坐標(biāo)系添加“自定義背景”
這個(gè)地方需要注意的一點(diǎn)就是:imshow的extent參數(shù)設(shè)置,注意要和你的繪圖坐標(biāo)軸刻度相一致。
img?=?plt.imread("哆啦A夢(mèng).jpg")
fig,ax?=?plt.subplots()
ax.imshow(img,extent=[1,?10,?2,?11])
x?=?[1,2,3,4,5,6,7,8,9,10]
y?=?[2,3,4,5,6,7,8,9,10,11]
plt.plot(x,y,c="red")
plt.show()結(jié)果如下:

更多閱讀
特別推薦

點(diǎn)擊下方閱讀原文加入社區(qū)會(huì)員
