更多精彩內(nèi)容,歡迎關(guān)注:

視頻號
視頻號

抖音
抖音

快手
快手

微博
微博

python繪圖中有哪四個繪圖技巧

導(dǎo)讀在可視化數(shù)據(jù)時,通常需要在單個圖形中繪制多個圖形。?例如,如果您想從不同的角度可視化相同的變量如:數(shù)字變量的并排直方圖和箱線圖,則多個圖形很有用。?在這篇文章中,分享了繪制多個圖形的4個簡單但實用的技巧。

技巧1: plt.subplots()

技巧2: plt.subplot()

技巧3: plt.tight_layout()

技巧4: plt.suptitle()

數(shù)據(jù)集:

讓我們導(dǎo)入包并更新圖表的默認(rèn)設(shè)置,為圖表添加一點個人風(fēng)格。 我們將在提示上使用 Seaborn 的內(nèi)置數(shù)據(jù)集:

import?seaborn?as?sns?#?v0.11.2??
import?matplotlib.pyplot?as?plt?#?v3.4.2??
sns.set(style='darkgrid',?context='talk',?palette='rainbow')df?=?sns.load\_dataset('tips')??
df.head()

技巧1: plt.subplots()

繪制多個子圖的一種簡單方法是使用 plt.subplots() 。

這是繪制 2 個并排子圖的示例語法:

fig,?ax?=?plt.subplots(nrows=1,?ncols=2,?figsize=(10,4))??
sns.histplot(data=df,?x='tip',?ax=ax[0])??
sns.boxplot(data=df,?x='tip',?ax=ax[1]);

在這里,我們在一個圖中繪制了兩個子圖。 我們可以進(jìn)一步自定義每個子圖。

?例如,我們可以像這樣為每個子圖添加標(biāo)題:

fig,?ax?=?plt.subplots(1,?2,?figsize=(10,4))??
sns.histplot(data=df,?x='tip',?ax=ax[0])??
ax[0].set\_title("Histogram")??
sns.boxplot(data=df,?x='tip',?ax=ax[1])??
ax[1].set\_title("Boxplot");

在循環(huán)中將所有數(shù)值變量用同一組圖表示:

numerical?=?df.select\_dtypes('number').columnsfor?col?in?numerical:??
?fig,?ax?=?plt.subplots(1,?2,?figsize=(10,4))??
?sns.histplot(data=df,?x=col,?ax=ax[0])??
?sns.boxplot(data=df,?x=col,?ax=ax[1]);
技巧2: plt.subplot()

另一種可視化多個圖形的方法是使用 plt.subplot(),末尾沒有 s

?語法與之前略有不同:

plt.figure(figsize=(10,4))??
ax1?=?plt.subplot(1,2,1)??
sns.histplot(data=df,?x='tip',?ax=ax1)??
ax2?=?plt.subplot(1,2,2)??
sns.boxplot(data=df,?x='tip',?ax=ax2);

當(dāng)我們想為多個圖繪制相同類型的圖形并在單個圖中查看所有圖形,該方法特別有用:

plt.figure(figsize=(14,4))??
for?i,?col?in?enumerate(numerical):??
?ax?=?plt.subplot(1,?len(numerical),?i+1)??
?sns.boxplot(data=df,?x=col,?ax=ax)

我們同樣能定制子圖形。例如加個title

plt.figure(figsize=(14,4))??
for?i,?col?in?enumerate(numerical):??
?ax?=?plt.subplot(1,?len(numerical),?i+1)??
?sns.boxplot(data=df,?x=col,?ax=ax)???
?ax.set\_title(f"Boxplot?of?{col}")

通過下面的比較,我們能更好的理解它們的相似處與不同處熟悉這兩種方法很有用,因為它們可以在不同情況下派上用場。

技巧3: plt.tight_layout()

在繪制多個圖形時,經(jīng)常會看到一些子圖的標(biāo)簽在它們的相鄰子圖上重疊,

如下所示:

categorical?=?df.select\_dtypes('category').columnsplt.figure(figsize=(8,?8))??
for?i,?col?in?enumerate(categorical):??
?ax?=?plt.subplot(2,?2,?i+1)??
?sns.countplot(data=df,?x=col,?ax=ax)

頂部兩個圖表的 x 軸上的變量名稱被剪掉,右側(cè)圖的 y 軸標(biāo)簽與左側(cè)子圖重疊.使用plt.tight_layout很方便

plt.figure(figsize=(8,?8))??
for?i,?col?in?enumerate(categorical):??
?ax?=?plt.subplot(2,?2,?i+1)??
?sns.countplot(data=df,?x=col,?ax=ax)???
plt.tight\_layout()

專業(yè) 看起來更好了。

技巧4: plt.suptitle()

真?zhèn)€圖形添加標(biāo)題:

plt.figure(figsize=(8,?8))??
for?i,?col?in?enumerate(categorical):??
?ax?=?plt.subplot(2,?2,?i+1)??
?sns.countplot(data=df,?x=col,?ax=ax)???
plt.suptitle('Category?counts?for?all?categorical?variables')??
plt.tight\_layout()

此外,您可以根據(jù)自己的喜好自定義各個圖。 例如,您仍然可以為每個子圖添加標(biāo)題。

到此這篇關(guān)于python繪圖 四個繪圖技巧的文章就介紹到這了,希望大家以后多多支持好二三四!

為你推薦
資訊專欄
熱門視頻
相關(guān)推薦
形容女子絕色美貌 那些關(guān)于傾國傾城女子的詩句 那些意境絕美 令人傾心美到極致的古詩詞 js中toString方法有哪幾個作用 js里toString方法3個作用 《部落與彎刀》:有血有肉的大漠世界 驚艷了時光 溫柔了歲月 如何用古詩形容一個人的美 如何進(jìn)入docker 怎樣進(jìn)入docker 描寫春分節(jié)氣的詩句詩詞大全 民以食為天,大米長蟲了還能吃嗎?一文講清 陶淵明最有名的詩 以中秋為主題的詩 有哪些春游的古詩 直擊心靈 一眼就讓人驚艷的詩句 那些意境優(yōu)美的古詩 關(guān)于中秋節(jié)的美好詩句 描寫中秋的唯美古詩詞優(yōu)選 關(guān)于愛國情感的詩句 有關(guān)愛國情懷的詩詞都有哪些 春風(fēng)拂過萬千花枝 描寫春花盛開 正是花開爛漫時的優(yōu)美詩句 有哪些是形容春天的唯美詩詞 描寫戰(zhàn)爭的詩詞 有關(guān)于戰(zhàn)爭題材的古詩句 精選佳句 鄉(xiāng)愁的古詩句名句 有關(guān)自然景觀的古詩 js中toString方法有幾個作用 西湖詩詞名句全詩西湖美景 docker的好處 docker的好處是什么 夕陽無限好只是近黃昏是哪位詩人寫的 python繪圖中四個繪圖技巧 js中toString方法的3個作用 關(guān)于風(fēng)箏的好的歌賦詩詞 docker怎么用 docker如何用 docker有自己的防火墻嗎 docker有防火墻嗎 docker查看日志命令 docker如何查看日志命令 如何查看docker日志 怎樣查看docker日志 docker cp怎么用 docker cp如何用 ui和gui的區(qū)別 什么是ui 什么是gui ui設(shè)計師要懂什么 ui設(shè)計師需要掌握什么 ui設(shè)計是什么 包括哪些 分為幾個方面 ui和視覺設(shè)計的區(qū)別 ui設(shè)計和視覺設(shè)計的不同 ui專業(yè)是什么專業(yè) ui設(shè)計是什么 ui設(shè)計全稱 什么叫ui設(shè)計 需要學(xué)什么 刪除docker鏡像 卸載docker
Top