溫馨提示×

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

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

Seaborn的使用技巧有哪些

發(fā)布時(shí)間:2021-12-27 13:56:51 來(lái)源:億速云 閱讀:158 作者:iii 欄目:大數(shù)據(jù)

本篇內(nèi)容介紹了“Seaborn的使用技巧有哪些”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

基線圖

本文中的腳本在Jupyter筆記本中的python3.8.3中進(jìn)行了測(cè)試。

讓我們使用Seaborn內(nèi)置的penguins數(shù)據(jù)集作為樣本數(shù)據(jù):

# 導(dǎo)入包 import matplotlib.pyplot as plt import seaborn as sns  # 導(dǎo)入數(shù)據(jù) df = sns.load_dataset('penguins').rename(columns={'sex': 'gender'}) df
Seaborn的使用技巧有哪些

我們將使用默認(rèn)圖表設(shè)置構(gòu)建標(biāo)準(zhǔn)散點(diǎn)圖,以將其用作基線:

# 圖 sns.scatterplot(data=df, x='body_mass_g', y='bill_length_mm',                  alpha=0.7, hue='species', size='gender')
Seaborn的使用技巧有哪些

我們將看到這個(gè)圖如何隨著每一個(gè)技巧而改變。

技巧

你將看到,前兩個(gè)技巧用于單個(gè)繪圖,而其余四個(gè)技巧用于更改所有圖表的默認(rèn)設(shè)置。

技巧1:分號(hào)

你有沒(méi)有注意到在上一個(gè)圖中,文本輸出就在圖表的正上方?抑制此文本輸出的一個(gè)簡(jiǎn)單方法是在繪圖末尾使用;。

#   圖 sns.scatterplot(data=df, x='body_mass_g', y='bill_length_mm',                  alpha=0.7, hue='species', size='gender');
Seaborn的使用技巧有哪些

只需在代碼末尾添加;就可以得到更清晰的輸出。

技巧2:plt.figure()

繪圖通??梢詮恼{(diào)整大小中獲益。如果我們想調(diào)整大小,我們可以這樣做:

# 圖 plt.figure(figsize=(9, 5)) sns.scatterplot(data=df, x='body_mass_g', y='bill_length_mm',                  alpha=0.7, hue='species', size='gender');
Seaborn的使用技巧有哪些

當(dāng)我們調(diào)整大小時(shí),圖例移到了左上角。讓我們將圖例移到圖表之外,這樣它就不會(huì)意外地覆蓋數(shù)據(jù)點(diǎn):

# 圖 plt.figure(figsize=(9, 5)) sns.scatterplot(data=df, x='body_mass_g', y='bill_length_mm',                  alpha=0.7, hue='species', size='gender') plt.legend(loc='upper right', bbox_to_anchor=(1.2, 1));
Seaborn的使用技巧有哪些

如果你想知道如何知道figsize()或bbox_to_anchor()使用什么數(shù)的字組合,則需要嘗試哪些數(shù)字最適合繪圖。

技巧3:sns.set_style()

如果不喜歡默認(rèn)樣式,此函數(shù)有助于更改繪圖的整體樣式。這包括軸的顏色和背景。讓我們將樣式更改為whitegrid,并查看打印外觀如何更改:

# 更改默認(rèn)樣式 sns.set_style('whitegrid')  # 圖 plt.figure(figsize=(9, 5)) sns.scatterplot(data=df, x='body_mass_g', y='bill_length_mm',                  alpha=0.7, hue='species', size='gender') plt.legend(loc='upper right', bbox_to_anchor=(1.2, 1));
Seaborn的使用技巧有哪些

這里還有一些其他的選擇可以嘗試:“darkgrid”、“dark”和“ticks”來(lái)找到你更喜歡的那個(gè)。

技巧4:sns.set_context()

在前面的圖中,標(biāo)簽尺寸看起來(lái)很小。如果不喜歡默認(rèn)設(shè)置,我們使用sns.set_context()可以更改上下文參數(shù)。

我使用這個(gè)函數(shù)主要是為了控制繪圖中標(biāo)簽的默認(rèn)字體大小。通過(guò)更改默認(rèn)值,我們可以節(jié)省時(shí)間,而不必為單個(gè)繪圖的不同元素(例如軸標(biāo)簽、標(biāo)題、圖例)調(diào)整字體大小。讓我們把上下文改成“talk”,再看看圖:

# 默認(rèn)上下文更改 sns.set_context('talk')  # 圖 plt.figure(figsize=(9, 5)) sns.scatterplot(data=df, x='body_mass_g', y='bill_length_mm',                  alpha=0.7, hue='species', size='gender') plt.legend(loc='upper right', bbox_to_anchor=(1.3, 1));
Seaborn的使用技巧有哪些

它更容易辨認(rèn),不是嗎?另一個(gè)可以嘗試的選項(xiàng)是:“poster”,這將增加默認(rèn)大小甚至更多。

技巧5:sns.set_palette()

如果你想將默認(rèn)調(diào)色板自定義為你喜歡的顏色組合,此功能非常方便。我們可以使用Matplotlib中的彩色映射。這里是從顏色庫(kù)中選擇的。讓我們將調(diào)色板更改為“rainbow”并再次查看該圖:

# 更改默認(rèn)調(diào)色板 sns.set_palette('rainbow')  # 圖 plt.figure(figsize=(9, 5)) sns.scatterplot(data=df, x='body_mass_g', y='bill_length_mm',                  alpha=0.7, hue='species', size='gender') plt.legend(loc='upper right', bbox_to_anchor=(1.3, 1));
Seaborn的使用技巧有哪些

如果找不到你喜歡的Matplotlib顏色映射,可以手動(dòng)選擇顏色來(lái)創(chuàng)建自己獨(dú)特的調(diào)色板。  創(chuàng)建自己調(diào)色板的一種方法是將顏色名稱列表傳遞給函數(shù),如下例所示。這個(gè)鏈接是顏色名稱列表:https://matplotlib.org/3.1.0/gallery/color/named_colors.html。

# 更改默認(rèn)調(diào)色板 sns.set_palette(['green', 'purple', 'red'])  # 圖 plt.figure(figsize=(9, 5)) sns.scatterplot(data=df, x='body_mass_g', y='bill_length_mm',                  alpha=0.7, hue='species', size='gender') plt.legend(loc='upper right', bbox_to_anchor=(1.3, 1));
Seaborn的使用技巧有哪些

如果顏色名稱不能很好地捕捉到你所追求的,你可以使用十六進(jìn)制顏色構(gòu)建自己的調(diào)色板來(lái)訪問(wèn)更廣泛的選項(xiàng)(超過(guò)1600萬(wàn)種顏色!)。這里是我最喜歡的資源,可以找到一個(gè)十六進(jìn)制的自定義調(diào)色板。我們來(lái)看一個(gè)例子:

# 更改默認(rèn)調(diào)色板 sns.set_palette(['#62C370', '#FFD166', '#EF476F'])  # 圖 plt.figure(figsize=(9, 5)) sns.scatterplot(data=df, x='body_mass_g', y='bill_length_mm',                  alpha=0.7, hue='species', size='gender') plt.legend(loc='upper right', bbox_to_anchor=(1.3, 1));
Seaborn的使用技巧有哪些

技巧6:sns.set()

從前面的三個(gè)技巧中,我希望你能找到你最喜歡的組合(在某些情況下,它可能會(huì)保留默認(rèn)設(shè)置)。如果我們要更新圖表的默認(rèn)設(shè)置,最好是在導(dǎo)入可視化軟件包之后再更新。這意味著我們?cè)谀_本的開(kāi)頭會(huì)有這樣一個(gè)片段:

# 導(dǎo)入包 import matplotlib.pyplot as plt import seaborn as sns  # 更改默認(rèn)值 sns.set_style('whitegrid') sns.set_context('talk') sns.set_palette('rainbow')

更新上面的多個(gè)默認(rèn)值可以用sns.set(). 以下是同一代碼的簡(jiǎn)潔版本:

# 導(dǎo)入包 import matplotlib.pyplot as plt import seaborn as sns  # 更改默認(rèn)值 sns.set(style='whitegrid', context='talk', palette='rainbow')

這是六個(gè)技巧。以下是調(diào)整前后的圖對(duì)比:

Seaborn的使用技巧有哪些

“Seaborn的使用技巧有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

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

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

AI