Seaborn 風(fēng)格設(shè)置

Seaborn 庫(kù)相較于 Matplotlib 使用更加簡(jiǎn)單方便,并且可以設(shè)置不同的 Seaborn 風(fēng)格。Seaborn 庫(kù)的主題風(fēng)格有如下 5 種:

  • darkgrid
  • whitegrid
  • dark
  • white
  • ticks

再開(kāi)始介紹前,我們首先導(dǎo)入相關(guān)工具包,并執(zhí)行魔法指令:

import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

%matplotlib inline

這里我們比之前多了一個(gè)工具包的導(dǎo)入:import seaborn as sns,就是我們今天介紹的主角 Seaborn 庫(kù)。

首先,使用 Matplotlib 繪制一張折線圖:

def my_plot():
    x = np.linspace(-10, 10, 100)
    for i in range(1, 7):
        plt.plot(x, -x**2-5*i)

my_plot()

繪制結(jié)果:

下面,我們使用 sns.set() 將繪圖風(fēng)格設(shè)置為 Seaborn 庫(kù)默認(rèn)的主題風(fēng)格:

sns.set()
my_plot()

繪制結(jié)果:

可見(jiàn) Seaborn 庫(kù)默認(rèn)的主題風(fēng)格即 darkgrid 。

下面,我們來(lái)看 whitegrid 風(fēng)格的繪圖。首先構(gòu)造一組數(shù)據(jù):

>> data = np.random.normal(size=(20, 6)) + np.arange(6) / 2
>> data
array([[ 0.50043126,  2.05154056,  2.07807178,  1.06626428,  2.23354891,
         2.06661851],
       [ 0.03881794,  0.2380959 ,  1.80820601,  2.11175762,  2.07237335,
         2.11019608],
       [ 0.45544742,  0.75383046,  0.16691214,  2.35224002,  2.36564043,
         3.99343506],
       [-0.82310356,  0.7754227 ,  1.56347575,  1.13595978,  2.27480695,
         1.10286358],
       ...
       [ 0.13538917, -0.41568549, -0.3778096 ,  3.03486853,  1.96548553,
         2.38730081],
       [-0.95326404,  0.95174162,  1.80429181,  2.54299904,  1.04390341,
         3.66710519],
       [-2.48693243,  0.25720482,  1.49159918,  2.27662074,  1.78703827,
         1.87306935]])

其中 data 為 20 * 6 的數(shù)組,將上述 6 列數(shù)據(jù)繪制為盒形圖:

sns.set_style("whitegrid")
sns.boxplot(data=data)

繪制結(jié)果:

當(dāng)然,也可以使用 darkwhite 不使用網(wǎng)格:

ticks 會(huì)在坐標(biāo)軸上標(biāo)注出刻度:

sns.set_style("ticks")
sns.boxplot(data=data)

此外,sns.despine() 還可以將上方和右側(cè)的坐標(biāo)軸去掉:

sns.set_style("ticks")
sns.violinplot(data=data)
sns.despine()

這里,我們繪制的是和盒圖非常相似的小提琴圖:

還可以將左側(cè)的坐標(biāo)軸也指定為抹除:

sns.violinplot(data=data)
sns.despine(left=True)

最后,介紹一下 sns.axes_style("darkgrid") 返回的是一個(gè)上下文管理器,可以用在 with 語(yǔ)句中,這樣該坐標(biāo)系的風(fēng)格只影響 with 語(yǔ)句內(nèi)的繪圖。

plt.figure(figsize=(8, 10))

with sns.axes_style("darkgrid"):
    plt.subplot(211)
    sns.boxplot(data=data)

with sns.axes_style("whitegrid"):
    plt.subplot(212)
    sns.violinplot(data=data)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容