seaborn可視化詳解

引言

當我們快速理解數據內容及其分佈時,可以選用一些可視化工具,將數據展示出來,從而使我們對數據具有一個直觀的認識。常用的數據可視化庫有

  • matplotlib
  • Seaborn
    其中Seaborn可以認爲是matplotlib的擴展,從而使得表達更豐富,數據表達更直觀

示例

首先導入Seaborn庫

import pandas as pd 
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline %表示畫的圖形在notebook中顯示出來
sns.set() %使用seaborn風格畫圖

本文中的使用到的數據爲seaborn中自帶的數據集tips
本次使用到的數據集是比較有名的tips(小費)數據集。小費數據集,是一個餐廳侍者收集的關於小費的數據,其中包含了七個變量,包括總費用、付小費的金額、付款者性別、是否吸菸、日期、日間、顧客人數。

在這裏插入圖片描述

  • 條形圖繪製
    標準格式爲
 sns.distplot(data[“variablename”]) 

我們看一下總賬單分佈

sns.distplot(tips["total_bill"], bins=16, color="purple")

tips[“total_bill”]指定繪畫某一列的數據
bins=16表示柱狀圖的個數
在這裏插入圖片描述

  • 聯合分佈
sns.jointplot(x="total_bill", y="tip", data=tips, color="purple")

在這裏插入圖片描述
還可以通過修改kind參數,顯示kde曲線等
在這裏插入圖片描述
解釋上圖中,顏色越深代表其密度越大

  • 矩陣圖
sns.pairplot(tips, hue="sex", palette="Set2")

在這裏插入圖片描述

  • 箱體圖
    箱體圖,即箱線圖,從下到上五條線分別表示最小值、下四分位數、中位數、上四分位數和最大值。
    在這裏插入圖片描述
    箱線圖作爲描述統計的工具之一,其功能有獨特之處,主要有以下幾點:
    1.直觀明瞭地識別數據批中的異常值
    2.利用箱線圖判斷數據批的偏態和尾重
    3.利用箱線圖比較幾批數據的形狀
sns.boxplot(x="day", y="total_bill", data=tips)

在這裏插入圖片描述

  • 小提琴圖
sns.violinplot(x="day", y="total_bill", data=tips)

在這裏插入圖片描述

擴展-風格管理 - 繪圖風格設置

Seaborn 將 matplotlib 的參數劃分爲兩個獨立的組合。第一組是設置繪圖的外觀風格的,第二組主要將繪圖的各種元素按比例縮放的,以至可以嵌入到不同的背景環境中。

操控這些參數的接口主要有兩對方法:

控制風格:axes_style(), set_style()
縮放繪圖:plotting_context(), set_context()

有五種seaborn的風格,它們分別是:darkgrid, whitegrid, dark, white, ticks。它們各自適合不同的應用和個人喜好。默認的主題是darkgrid。
例如

sns.set_style("whitegrid")
sns.distplot(tips["total_bill"], bins=16, color="purple")

在這裏插入圖片描述

移除軸脊柱

sns.distplot(tips["total_bill"], bins=16, color="purple")
sns.despine()

在這裏插入圖片描述
當刻度沒有完全覆蓋整個軸的範圍時,trim參數可以用來限制已有脊柱的範圍。

sns.distplot(tips["total_bill"], bins=16, color="purple")
sns.despine(offset=10, trim=True)

在這裏插入圖片描述

自定義風格

將一個字典參數傳遞給axes_style()和set_style()的參數rc。而且你只能通過這個方法來覆蓋風格定義中的部分參數。

繪圖元素比例

有四個預置的環境,按大小從小到大排列分別爲:paper, notebook, talk, poster。其中,notebook是默認的。

sns.set_context("poster")
sns.distplot(tips["total_bill"], bins=16, color="purple")

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章