引言
當我們快速理解數據內容及其分佈時,可以選用一些可視化工具,將數據展示出來,從而使我們對數據具有一個直觀的認識。常用的數據可視化庫有
- 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")