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

視頻號(hào)
視頻號(hào)

抖音
抖音

快手
快手

微博
微博

python繪圖中的四個(gè)繪圖技巧

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

? ?

技巧1: plt.subplots()

技巧2: plt.subplot()

技巧3: plt.tight_layout()

技巧4: plt.suptitle()

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

讓我們導(dǎo)入包并更新圖表的默認(rèn)設(shè)置,為圖表添加一點(diǎn)個(gè)人風(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()

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

這是繪制 2 個(gè)并排子圖的示例語(yǔ)法:

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]);

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

?例如,我們可以像這樣為每個(gè)子圖添加標(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()

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

?語(yǔ)法與之前略有不同:

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)我們想為多個(gè)圖繪制相同類型的圖形并在單個(gè)圖中查看所有圖形,該方法特別有用:

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)

我們同樣能定制子圖形。例如加個(gè)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}")

通過下面的比較,我們能更好的理解它們的相似處與不同處熟悉這兩種方法很有用,因?yàn)樗鼈兛梢栽诓煌闆r下派上用場(chǎng)。

技巧3: plt.tight_layout()

在繪制多個(gè)圖形時(shí),經(jīng)常會(huì)看到一些子圖的標(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)

頂部?jī)蓚€(gè)圖表的 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è) 看起來(lái)更好了。

技巧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ù)自己的喜好自定義各個(gè)圖。 例如,您仍然可以為每個(gè)子圖添加標(biāo)題。

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

為你推薦
資訊專欄
熱門視頻
相關(guān)推薦
js中toString方法3個(gè)作用 信息系統(tǒng)項(xiàng)目管理師報(bào)考條件 信息系統(tǒng)項(xiàng)目管理師報(bào)考時(shí)間 信息系統(tǒng)項(xiàng)目管理師報(bào)名時(shí)間 信息系統(tǒng)項(xiàng)目管理師考試時(shí)間 pmp與信息系統(tǒng)項(xiàng)目管理師 信息系統(tǒng)項(xiàng)目管理師報(bào)考要求 信息系統(tǒng)項(xiàng)目管理師有效期 信息系統(tǒng)項(xiàng)目管理師考什么論文 信息系統(tǒng)項(xiàng)目管理師是什么類別 軟考信息系統(tǒng)項(xiàng)目管理師怎么備考 備考流程有哪些 考信息系統(tǒng)項(xiàng)目管理師需要考幾門 信息系統(tǒng)項(xiàng)目管理師考試幾門 信息系統(tǒng)項(xiàng)目管理師初中能考嗎 信息系統(tǒng)項(xiàng)目管理師英語(yǔ)簡(jiǎn)稱 滲透測(cè)試怎么做 滲透測(cè)試的步驟都有哪些 你知道嗎 滲透測(cè)試需要學(xué)什么 滲透測(cè)試是什么 滲透測(cè)試有什么特點(diǎn) 滲透測(cè)試是什么意思 滲透測(cè)試工程師是干什么的 圖像檢索之基于vlfeat實(shí)現(xiàn)SIFT特征 Python按鍵或值對(duì)字典進(jìn)行排序 提升Python運(yùn)行速度的5個(gè)小技巧 學(xué)習(xí)python的while循環(huán)嵌套 Python實(shí)現(xiàn)消消樂小游戲 python實(shí)現(xiàn)新年倒計(jì)時(shí)實(shí)例代碼 詳解python的循環(huán) 基于Python實(shí)現(xiàn)PDF區(qū)域文本提取工具 Python數(shù)據(jù)分析處理(三)--運(yùn)動(dòng)員信息的分組與聚合 Python實(shí)現(xiàn)城市公交網(wǎng)絡(luò)分析與可視化 Python 垃圾回收機(jī)制詳解 python正則表達(dá)式語(yǔ)法學(xué)習(xí)筆記 一文秒懂python正則表達(dá)式常用函數(shù) Python常用的正則表達(dá)式處理函數(shù)詳解 JS截取字符串的三種方法詳解 PHP遍歷數(shù)組的6種方式總結(jié) php兩種基本的輸出方及實(shí)例詳解 php生成唯一uid的解決方法詳解 PHP7中對(duì)十六進(jìn)制字符串處理的問題詳解 PHP對(duì)接抖音開發(fā)平臺(tái)接口的詳細(xì)教程
Top