【實驗樓/Seaborn】Seaborn概覽

Seaborn簡介

matplotlib可能是基於Python最優秀的繪圖庫了。但是它的api數目比較多,較爲複雜。
Seaborn基於matplotlib的核心庫進行了更高級的封裝。可以繪製出更高級的圖形。

Seaborn的基本使用

由於Seaborn是基於matplotlib進行開發的。因此我們使用seaborn時只需正常使用matplotlib的api。外加簡單的幾句Seaborn函數即可:

import seaborn as sns
sns.set()

Seaborn繪圖API概覽

當然sns也自帶繪圖的API,你可以直接使用sns的API。
首先你要知道Seaborn繪圖的API主要可以分爲兩類:

  1. Figure-level的,比如relplot。
  2. Axes-level的,比如scatterplot和lineplot。

這兩個level的區別在於,figure-level像是懶人函數,適合於快速應用。而axes-plot的可以實現與matplotlib實現更加靈活和緊密的結合。
不過這些API的使用方法是大同小異的。比如說他們都有相同的屬性:

  1. data屬性:選擇什麼樣的對象。
  2. x和y屬性:選擇哪些數據在圖上當做x和y軸展示。
  3. hue:給每一個線段或者散點染色。
  4. style:設置每一個線段或者散點的格式。

關聯圖

涉及到關聯性分析的時候,我們可以使用一下API

  1. replot:繪製關係圖(即可以畫散點,可以畫線型圖, 默認是畫散點,你可以指定kind屬性來選擇話什麼圖形)
  2. scatterplot:專門繪製散點圖。
  3. lineplot: 專門繪製線型圖。
    在這裏插入圖片描述
    在這裏插入圖片描述

類別圖

(我感覺這些圖都差不多。。)

  1. 分類散點圖:

    • stripplot()(kind="strip")
      在這裏插入圖片描述
    • swarmplot()(kind="swarm")
      在這裏插入圖片描述
  2. 分類分佈圖:

    • boxplot() (kind="box")
      在這裏插入圖片描述
    • violinplot() (kind="violin")
      在這裏插入圖片描述
    • boxenplot()(kind="boxen")
      在這裏插入圖片描述
  3. 分類估計圖:

    • pointplot()(kind="point")
      在這裏插入圖片描述
    • barplot() (kind="bar")
      在這裏插入圖片描述
    • countplot() (kind="count")
      在這裏插入圖片描述

分佈圖

我們可以通過分佈圖查看變量的分佈情況。一般分爲單變量分佈(這個好像沒什麼用),還有一個多變量分佈(基本上都是兩個變量,兩個以上的變量很難繪製出直觀的可視化圖形
不過說實話下面幾個圖並不是分佈函數(CDF)的圖,而是離散型隨機變量PMF的圖片。因爲CDP必然是非降的。

一. 查看單變量分佈

sns.distplot(iris["sepal_length"])

在這裏插入圖片描述
查看多變量分佈我們一般適用jointplot函數:

二. 核密度估計函數

sns.jointplot(x="sepal_length", y="sepal_width", data=iris, kind="kde")

在這裏插入圖片描述

三. 六邊形計數圖

sns.jointplot(x="sepal_length", y="sepal_width", data=iris, kind="hex")

在這裏插入圖片描述

四. pairplot

這個應該是seaborn中最爲強大的api了。它能夠把所有特徵兩兩分佈圖全部都畫出來:

sns.pairplot(iris, hue="species")

矩陣圖

矩陣圖裏最常用的兩個圖是heatmapclustermap
其中:

  1. heatmap是用來畫熱力圖,用來研究各個變量之間的相關性的。
  2. clustermap是用來使用層次聚類方法的。
發佈了144 篇原創文章 · 獲贊 21 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章