Seaborn的6個簡單技巧

2021-01-11 人工智慧遇見磐創

在這篇文章中,我們將探討一些簡單的方法來定製你的圖表,使它們更好看。我希望這些簡單的技巧能幫助你得到更好看的圖。

基線圖

本文中的腳本在Jupyter筆記本中的python3.8.3中進行了測試。

讓我們使用Seaborn內置的penguins數據集作為樣本數據:

# 導入包import matplotlib.pyplot as pltimport seaborn as sns# 導入數據df = sns.load_dataset('penguins').rename(columns={'sex': 'gender'})df

我們將使用默認圖表設置構建標準散點圖,以將其用作基線:

# 圖sns.scatterplot(data=df, x='body_mass_g', y='bill_length_mm', alpha=0.7, hue='species', size='gender')

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

技巧

你將看到,前兩個技巧用於單個繪圖,而其餘四個技巧用於更改所有圖表的默認設置。

技巧1:分號

你有沒有注意到在上一個圖中,文本輸出就在圖表的正上方?抑制此文本輸出的一個簡單方法是在繪圖末尾使用;。

# 圖sns.scatterplot(data=df, x='body_mass_g', y='bill_length_mm', alpha=0.7, hue='species', size='gender');

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

技巧2:plt.figure()

繪圖通常可以從調整大小中獲益。如果我們想調整大小,我們可以這樣做:

# 圖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.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));

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

技巧3:sns.set_style()

如果不喜歡默認樣式,此函數有助於更改繪圖的整體樣式。這包括軸的顏色和背景。讓我們將樣式更改為whitegrid,並查看列印外觀如何更改:

# 更改默認樣式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));

這裡還有一些其他的選擇可以嘗試:「darkgrid」、「dark」和「ticks」來找到你更喜歡的那個。

技巧4:sns.set_context()

在前面的圖中,標籤尺寸看起來很小。如果不喜歡默認設置,我們使用sns.set_context()可以更改上下文參數。

我使用這個函數主要是為了控制繪圖中標籤的默認字體大小。通過更改默認值,我們可以節省時間,而不必為單個繪圖的不同元素(例如軸標籤、標題、圖例)調整字體大小。讓我們把上下文改成「talk」,再看看圖:

# 默認上下文更改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));

它更容易辨認,不是嗎?另一個可以嘗試的選項是:「poster」,這將增加默認大小甚至更多。

技巧5:sns.set_palette()

如果你想將默認調色板自定義為你喜歡的顏色組合,此功能非常方便。我們可以使用Matplotlib中的彩色映射。這裡是從顏色庫中選擇的。讓我們將調色板更改為「rainbow」並再次查看該圖:

# 更改默認調色板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));

如果找不到你喜歡的Matplotlib顏色映射,可以手動選擇顏色來創建自己獨特的調色板。 創建自己調色板的一種方法是將顏色名稱列表傳遞給函數,如下例所示。這個連結是顏色名稱列表:https://matplotlib.org/3.1.0/gallery/color/named_colors.html。

# 更改默認調色板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));

如果顏色名稱不能很好地捕捉到你所追求的,你可以使用十六進位顏色構建自己的調色板來訪問更廣泛的選項(超過1600萬種顏色!)。這裡是我最喜歡的資源,可以找到一個十六進位的自定義調色板。我們來看一個例子:

# 更改默認調色板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));

技巧6:sns.set()

從前面的三個技巧中,我希望你能找到你最喜歡的組合(在某些情況下,它可能會保留默認設置)。如果我們要更新圖表的默認設置,最好是在導入可視化軟體包之後再更新。這意味著我們在腳本的開頭會有這樣一個片段:

# 導入包import matplotlib.pyplot as pltimport seaborn as sns# 更改默認值sns.set_style('whitegrid')sns.set_context('talk')sns.set_palette('rainbow')更新上面的多個默認值可以用sns.set(). 以下是同一代碼的簡潔版本:

# 導入包import matplotlib.pyplot as pltimport seaborn as sns# 更改默認值sns.set(style='whitegrid', context='talk', palette='rainbow')這是六個技巧。以下是調整前後的圖對比:

我希望你學會了一些簡單的方法來調整你的圖表,這不用花太多時間。我希望這篇文章能給你一些初步的想法,讓你開始個性化你的圖表,並使它們更具視覺上的美。

相關焦點

  • 14個Seaborn數據可視化圖
    pip install seabornconda install seaborn運行以下命令可以導入seaborn。import seaborn as sns了解你的數據圖中使用的數據集為著名的泰坦尼克數據集(圖1),下面將數據集用變量df表示。
  • python數據可視化(一)seaborn介紹及繪圖風格設置
    import seaborn as snsimport numpy as npimport matplotlib as mplimport matplotlib.pyplot as plt%matplotlib inline然後,我們定義一個函數,這個函數主要是生成100個0到15的變量,然後用這個變量畫出6條曲線。
  • 用Seaborn繪製圖表
    Seaborn可以很好地處理數據幀,而Matplotlib則不行,它可以讓你以更簡單的方式繪製引人注目的圖表。確保系統中安裝了必要的庫:使用conda:conda install pandasconda install matplotlibconda install seaborn使用pip:pip install pandaspip install matplotlibpip install seaborn讓我們首先導入所需的Python庫和數據集。
  • 6個提升效率的pandas小技巧
    這篇文章目的梳理幾個高效實用的pandas小技巧,供大家參考。1. 從剪切板中創建DataFramepandas中的read_clipboard()方法非常神奇,可以把剪切板中的數據變成dataframe格式,也就是說直接在excel中複製表格,可以快速轉化為dataframe。
  • 小白也能看懂的seaborn入門示例
    seaborn一共有5個大類21種圖,分別是:relplot() 關係類圖表的接口,其實是下面兩種圖的集成,通過指定kind參數可以畫出下面的兩種圖scatterplot() 散點圖lineplot() 折線圖stripplot() 分類散點圖swarmplot() 能夠顯示分布密度的分類散點圖boxplot()
  • 快速提升效率,這6個 Pandas 技巧一定要知道
    這篇文章目的梳理幾個高效實用的pandas小技巧,供大家參考。1. 從剪切板中創建DataFramepandas中的read_clipboard()方法非常神奇,可以把剪切板中的數據變成dataframe格式,也就是說直接在excel中複製表格,可以快速轉化為dataframe。
  • 技能分享|Python數據可視化利器:Seaborn使用方法(一)
    可以說,seaborn是matplotlib的很好補充,而且能夠高度兼容numpy與pandas數據結構以及scipy與statsmodels等統計模式。01安裝seaborn我們可以使用pip安裝。在seaborn庫中,我們可以使用catplot()生成小提琴圖。
  • 使用Seaborn和Pandas進行相關性分析和可視化
    r值公式讓我們通過一個簡單的數據集進行相關性的可視化它具有以下列,重量,年齡(以月為單位),乳牙數量和眼睛顏色。眼睛顏色列已分類為1 =藍色,2 =綠色和3 = 棕色。讓我們使用以上數據繪製3個散點圖。
  • python可視化(三)seaborn單變量分析繪圖(直方圖、條形圖)
    在前面兩篇文章中,我們已經學習了seaborn繪圖的風格和顏色設置,從本篇文章開始,我們開始選一些有意思的數據集進行各種圖形繪製,在實踐中感受數據可視化的魅力。本篇文章主要講2個繪圖函數,那就是繪製直方圖的函數seaborn,distplot()和繪製條形圖的函數seaborn.barplot()(關於直方圖和條形圖的區別請查閱前面matplotlib系列中的相關文章)。處理繪圖數據今天我們用直方圖和條形圖展示下NBA2017-2018賽季各球員薪資情況。
  • Python可視化23|seaborn.distplot單變量分布圖(直方圖|核密度圖)
    本文介紹seaborn.distplot繪製單變量分布圖(直方圖及核密度圖)。本文內容概要  density estimate (KDE)seaborn.kdeplot繪製窄寬度核密度曲線 bandwidth (bw),控制核密度曲線胖瘦核密度曲線結合直方圖fit參數seaborn.distplot簡介 seaborn.distplot(a, bins=None, hist
  • Seaborn可視化-核密度分布圖 seaborn.kdeplot
    以上就是核密度分布圖的分享,下期我們將分享熱力圖seaborn.heatmap 的繪製方法。
  • Seaborn可視化-箱型圖 seaborn.boxplot
    異常值越多說明尾部越重,自由度越小(即自由變動的量的個數);而偏態表示偏離程度,異常值集中在較小值一側,則分布呈左偏態;異常值集中在較大值一側,則分布呈右偏態。 函數原型 seaborn.boxplot(x=None, y=None, hue=None, data=None, order=None, hue_order=None, orient=None, color=None, palette=None, saturation=0.75, width=
  • Matplotlib+Seaborn:一文掌握Python可視化庫的兩大王者
    該方法用可視化方法對數據分組,十分簡單便捷。· 如今有四個plt.scatter()函數,對應四個不同的季節,這一點在數據參數中再次出現,而這些數據參數已被子集化以對應不同單一季節。「o」表示不同的標記和顏色參數,這可以直觀地顯示數據點的位置以及其顏色。· 在plt.legend()中輸入參數形成圖例。前兩個參數是句柄:圖例和標籤會展示真正的散點圖;而於各個圖對應的名字也會在圖例中出現。
  • 韋編|五分鐘學會Seaborn常用圖表繪製
    五個類型共21種圖。下面選取常用的幾種圖表繪圖示例,並給出函數的參數注釋,大多圖表都可以通過一行代碼實現繪圖功能,五分鐘的時間即可掌握常用圖表的繪製。本文使用Jupyter Notebook編寫代碼,首先導入繪圖模塊:import seaborn as sns import matplotlib.pyplot as plt %matplotlib inlineNo.1lmplotlmplot主要用於可視化線性回歸關係,可以觀察兩組數據之間是否存在線性關係。
  • Matplotlib繪圖|快速定義圖表樣式的小技巧
    在可視化效果方面也是非常不錯的,matplotlib 提供很強大的樣式修改、切換機制,例如說我們看到某個圖表樣式比較不錯,可以把它保存下為 style 文件並設置為 matplibplot 調用接口,下次再繪製相同樣式圖表時只需填充數據,調用一下即可在定義樣式之前,可以先預覽一下matplotlib 提供的 圖表樣式種類,在 matplotlib 3.1.1 版本中一共提供了 26個
  • 給社恐,6個技巧克服社交焦慮
    舉個例子,演講前會緊張一下是很正常的事。 但如果你有社交焦慮,你可能會提前幾周就開始擔心,甚至請病假來逃避這件事,或者在演講期間顫抖到幾乎說不出話來。 社交焦慮症的情緒體徵和症狀: 日常社交情境中的過度自我意識與焦慮。
  • 掌握Seaborn的三分之一:使用relplot進行統計繪圖
    第二個數據集提供了500多家公司的紐約股票價格信息。散點圖的色調也可以將顏色標記用於散點圖中的第三個變量。它也非常簡單,就像點大小一樣。可在此處找到可用選項板的列表:http://seaborn.pydata.org/tutorial/color_palettes.html散點圖樣式讓我們回到第一個圖。我們繪製了重量與馬力的散點圖。
  • 五個簡單技巧幫助你在運動中射入更多的球
    大家好,今天我們分享五個簡單技巧幫助你在運動中射入更多的球,希望大家喜歡!圖5-想像成傳球第三個建議:第三個技巧是我們的支撐腳落地要稍微超前一些圖6-支撐處超前一些但是當球在運動中的時候,如果這樣做的話,球會繼續向前滾,很可能會打呲,不能踢出一腳乾脆利落的球。
  • 適合女生做的6個簡單有效的胸部訓練動作
    適合女生做的6個簡單有效的胸部訓練動作         哈嘍,大家好。
  • Alt鍵在Excel中的6個應用技巧解讀
    快捷鍵很多,大家常用的有Ctrl+A、Ctrl+C、Ctrl+V等等,這些快捷鍵在Excel系統中也同樣適用,而且非常的方便,除了這些常用的快捷鍵之外,輔助鍵Alt在Excel中也有很多實用技巧,具體請看下文。