溫馨提示×

溫馨提示×

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

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

使用Matplotlib如何對繪圖背景進行更改

發(fā)布時間:2020-11-27 15:11:30 來源:億速云 閱讀:873 作者:Leah 欄目:開發(fā)技術(shù)

使用Matplotlib如何對繪圖背景進行更改?針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

介紹

Matplotlib是Python中使用最廣泛的數(shù)據(jù)可視化庫之一。無論是簡單還是復(fù)雜的可視化項目,它都是大多數(shù)人的首選庫。

在本教程中,我們將研究如何在Matplotlib中更改繪圖的背景。

導(dǎo)入數(shù)據(jù)和庫

讓我們首先導(dǎo)入所需的庫。顯然,我們將需要Matplotlib,并且將使用Pandas讀取數(shù)據(jù):

import matplotlib.pyplot as plt
import pandas as pd

具體來說,我們將使用Seattle Weather Dataset(https://www.kaggle.com/rtatman/did-it-rain-in-seattle-19482017)這個數(shù)據(jù)集:

weather_data = pd.read_csv("seattleWeather.csv")
print(weather_data.head())
   DATE PRCP TMAX TMIN RAIN
0 1948-01-01 0.47 51 42 True
1 1948-01-02 0.59 45 36 True
2 1948-01-03 0.42 45 35 True
3 1948-01-04 0.31 45 34 True
4 1948-01-05 0.17 45 32 True

創(chuàng)建繪圖

現(xiàn)在,讓我們創(chuàng)建一個簡單的Matplotlib 散點圖,其中包含一些我們想要可視化的變量:

PRCP = weather_data['PRCP']
TMAX = weather_data['TMAX']
TMIN = weather_data['TMIN']

現(xiàn)在,我們將在最低溫度和降水之間構(gòu)建一個散點圖,并使用PyPlot中的show()函數(shù)將其顯示。

使用Matplotlib如何對繪圖背景進行更改

我們生成的圖形是沒什么問題,但看起來有點普通。讓我們嘗試重新自定義它。本文中使用兩種不同的方法來自定義繪圖的背景。

在Matplotlib中更改繪圖背景

現(xiàn)在,讓我們繼續(xù)更改該繪圖的背景。我們可以使用兩種不同的方法來做到這一點。我們可以更改當(dāng)前設(shè)置為white的底部顏色?;蛘?,我們可以使用imshow()輸入圖片。

在Matplotlib中更改軸背景

首先讓我們更改底部的顏色。這可以通過set()函數(shù),傳入face參數(shù)及其新值來完成,也可以通過專用的set_facecolor()函數(shù)來完成:

ax = plt.axes()
ax.set_facecolor("orange")
# OR
ax.set(facecolor = "orange")
 
plt.scatter(TMIN, PRCP)
plt.show()

使用Matplotlib如何對繪圖背景進行更改

這兩種方法均會產(chǎn)生相同的結(jié)果,因為它們都在后臺調(diào)用相同的函數(shù)。

在Matplotlib中更改繪圖背景

如果要設(shè)置圖形的背景并且需要使軸透明,可以在創(chuàng)建圖形時使用set_alpha()參數(shù)來完成。讓我們創(chuàng)建一個圖形和一個軸對象。當(dāng)然,您也可以使用set()函數(shù),并傳遞alpha屬性。

整個圖形的顏色將為藍色,我們首先將軸對象的alpha設(shè)置為1.0,這意味著完全不透明。我們將軸對象著色為橙色,從而在藍色圖中為我們提供了橙色背景:

fig = plt.figure()
fig.patch.set_facecolor('blue')
fig.patch.set_alpha(0.6)
 
ax = fig.add_subplot(111)
ax.patch.set_facecolor('orange')
ax.patch.set_alpha(1.0)
 
plt.scatter(TMIN, PRCP)
plt.show()

使用Matplotlib如何對繪圖背景進行更改

現(xiàn)在,讓我們看看將alpha調(diào)整為0.0時會發(fā)生什么:

fig = plt.figure()
fig.patch.set_facecolor('blue')
fig.patch.set_alpha(0.6)
 
ax = fig.add_subplot(111)
ax.patch.set_facecolor('orange')
ax.patch.set_alpha(0.0)
 
plt.scatter(TMIN, PRCP)
plt.show()

使用Matplotlib如何對繪圖背景進行更改

注意繪圖本身的背景現(xiàn)在是透明的。

將圖像添加到Matplotlib中的繪圖背景

如果您想將圖像用作繪圖的背景,則可以使用PyPlot的imread()函數(shù)來完成。此函數(shù)將圖像加載到Matplotlib中,該圖像可與```imshow()``函數(shù)一起顯示。

為了在圖像上方繪制,必須指定圖像的范圍。默認(rèn)情況下,Matplotlib使用圖像的左上角作為圖像的原點。我們可以給imshow()函數(shù)提供一個點列表,指定應(yīng)該顯示圖像的哪個區(qū)域。與子圖組合時,可以在圖像上方插入另一個圖。

讓我們使用下雨的圖像作為背景:

img = plt.imread("rain.jpg")
fig, ax = plt.subplots()
ax.imshow(img, extent=[-5, 80, -5, 30])
ax.scatter(TMIN, PRCP, color="#ebb734")
plt.show()

使用Matplotlib如何對繪圖背景進行更改

范圍參數(shù)按此順序接受的參數(shù)包括:horizontal_min,horizontal_max,vertical_min,vertical_max)。在這里,我們讀取了圖像,將其裁剪并使用imshow()在軸上顯示。

關(guān)于使用Matplotlib如何對繪圖背景進行更改問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI