您好,登錄后才能下訂單哦!
使用Matplotlib如何對繪圖背景進行更改?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
介紹
Matplotlib是Python中使用最廣泛的數據可視化庫之一。無論是簡單還是復雜的可視化項目,它都是大多數人的首選庫。
在本教程中,我們將研究如何在Matplotlib中更改繪圖的背景。
導入數據和庫
讓我們首先導入所需的庫。顯然,我們將需要Matplotlib,并且將使用Pandas讀取數據:
import matplotlib.pyplot as plt import pandas as pd
具體來說,我們將使用Seattle Weather Dataset
(https://www.kaggle.com/rtatman/did-it-rain-in-seattle-19482017)這個數據集:
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
創建繪圖
現在,讓我們創建一個簡單的Matplotlib 散點圖,其中包含一些我們想要可視化的變量:
PRCP = weather_data['PRCP'] TMAX = weather_data['TMAX'] TMIN = weather_data['TMIN']
現在,我們將在最低溫度和降水之間構建一個散點圖,并使用PyPlot中的show()
函數將其顯示。
我們生成的圖形是沒什么問題,但看起來有點普通。讓我們嘗試重新自定義它。本文中使用兩種不同的方法來自定義繪圖的背景。
在Matplotlib中更改繪圖背景
現在,讓我們繼續更改該繪圖的背景。我們可以使用兩種不同的方法來做到這一點。我們可以更改當前設置為white
的底部顏色。或者,我們可以使用imshow()
輸入圖片。
在Matplotlib中更改軸背景
首先讓我們更改底部的顏色。這可以通過set()
函數,傳入face
參數及其新值來完成,也可以通過專用的set_facecolor()
函數來完成:
ax = plt.axes() ax.set_facecolor("orange") # OR ax.set(facecolor = "orange") plt.scatter(TMIN, PRCP) plt.show()
這兩種方法均會產生相同的結果,因為它們都在后臺調用相同的函數。
在Matplotlib中更改繪圖背景
如果要設置圖形的背景并且需要使軸透明,可以在創建圖形時使用set_alpha()
參數來完成。讓我們創建一個圖形和一個軸對象。當然,您也可以使用set()
函數,并傳遞alpha
屬性。
整個圖形的顏色將為藍色,我們首先將軸對象的alpha
設置為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()
現在,讓我們看看將alpha
調整為0.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(0.0) plt.scatter(TMIN, PRCP) plt.show()
注意繪圖本身的背景現在是透明的。
將圖像添加到Matplotlib中的繪圖背景
如果您想將圖像用作繪圖的背景,則可以使用PyPlot的imread()
函數來完成。此函數將圖像加載到Matplotlib中,該圖像可與```imshow()``函數一起顯示。
為了在圖像上方繪制,必須指定圖像的范圍。默認情況下,Matplotlib使用圖像的左上角作為圖像的原點。我們可以給imshow()
函數提供一個點列表,指定應該顯示圖像的哪個區域。與子圖組合時,可以在圖像上方插入另一個圖。
讓我們使用下雨的圖像作為背景:
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()
范圍參數按此順序接受的參數包括:horizontal_min
,horizontal_max
,vertical_min
,vertical_max)
。在這里,我們讀取了圖像,將其裁剪并使用imshow()
在軸上顯示。
關于使用Matplotlib如何對繪圖背景進行更改問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。