04_seaborn基本使用

1.seaborn設置總體風格

seaborn提供5中主題風格:windows

  • darkgrid
  •  whitegrid
  •  dark
  •  white
  •  ticks

主要經過set()和set_style()兩個函數對總體風格進行控制。dom

準備工做:函數

import seaborn as sns import numpy as np import matplotlib as mpl import matplotlib.pyplot as plt 
# 定義一個繪圖函數
def sinplot(flip=1): x = np.linspace(0, 14, 100) for i in range(1, 7): plt.plot(x, np.sin(x + i*.5)*(7-i)*flip)

默認設置1

輸入:字體

# 通常圖形, 默認設置 # 效果同sns.set()
 sinplot()

輸出:編碼

默認設置2

輸入:spa

# 默認設置
 sns.set() # 使用seaborn的默認設置
sinplot()

輸出:.net

 

設置風格爲ticks

輸入:設計

# 設置風格爲ticks

# 能夠直接經過參數名傳參,也能夠經過set_style()傳參 # 效果同:set_style('ticks')
 sns.set(style='ticks') sinplot()

 

 輸出:3d

設置爲whitegrid

輸入:code

sns.set_style('whitegrid') sinplot()

輸出:

 

其餘主題設置風格相似,可經過set(style=" ")方式,也能夠經過set_style( " " )的方式設置。

具體可以使用print(help(sns.set))函數查看幫助文檔。

2.seaborn設置細節風格

設置邊框

輸入:

# 邊框設置
 sinplot() sns.despine() # 去掉邊框,默認去掉上邊框和右邊框

輸出:

也能夠經過參數名傳參,來決定哪一個邊框不顯示。

輸入:

# 也能夠經過參數名傳參,決定哪一個邊框不顯示
 sinplot() sns.despine(bottom=True, right=True)  # True表明不顯示

 

輸出:

設置子圖風格

輸入:

# 對子圖設置不一樣風格
 with sns.axes_style('darkgrid'): plt.subplot(211)  # 對第一個子圖設置風格darkgrid
 sinplot() plt.subplot(212) sinplot(2) # 經過關鍵字with,對不一樣子圖設置風格

 

 輸出:

設置內容

輸入:

# 對圖中內容進行設置,包括線條顏色,粗細和刻度等
 sns.set_context("paper")  # 使用paper風格
plt.figure(figsize=(10, 6)) sinplot()

 

輸出:

 字體、線寬設置

 輸入:

# 設置字體大小,線寬等
 sns.set_context("talk", font_scale=1.5, rc={'line.linewidth':2.5})  # 使用talk風格
plt.figure(figsize=(10, 6)) sinplot()

 

輸出:

3.調色板的使用

 seaborn主要提供分類色板、顏色空間、連續色板和xkcd等操做,對圖像顏色進行設置。

分類色板

 主要涉及如下函數:

  • color_palette() 能傳入任何Matplotlib所支持的顏色
  • color_palette() 不傳入參數則爲默認顏色
  • set_palette() 設置全部圖的顏色
import numpy as np import seaborn as sns import matplotlib.pyplot as plt sns.set(rc={'figure.figsize': (6, 6)})  # 設置畫板大小

 

輸入:

# 分類色板
 current_palette = sns.color_palette() #默認是deep,深色風
sns.palplot(current_palette) sns.palplot(sns.color_palette("muted")) #柔和風
sns.palplot(sns.color_palette("pastel",9)) #粉蠟筆風
sns.palplot(sns.color_palette("bright",10)) #明亮風
sns.palplot(sns.color_palette("dark",11)) #黑暗風
sns.palplot(sns.color_palette("colorblind",12)) # 色盲風

# 6個默認的顏色循環主題: deep, muted, pastel, bright, dark, colorblind

 

輸出:

顏色空間

 顏色空間主要經過hls_palette()函數來控制顏色的色調、亮度和飽和

  • h-色調 hue
  • l-亮度 lightness
  • s-飽和 saturation

輸入:

# hls_palette()函數對顏色進行設置
 sns.palplot(sns.hls_palette(8,h=.8, l=.7, s=.9)) sns.palplot(sns.hls_palette(8,h=0.1, l=.3, s=.6)) #sns.hls_palette設置獲得HLS的色彩空間中的顏色,顏色個數, # h設置色調, # l設置亮度, # s設置飽和度, # 取值範圍均在(0,1)

 

輸出:

 

輸入:

# 設置成對的,相近顏色
 sns.palplot(sns.color_palette("Paired",10)) # 按對分組,每一對之間屬同一色系中的差別較大的兩個顏色 # 對於對之間屬於不一樣色系的顏色

 

輸出:

xkcd顏色

 xkcd包含了一套針對隨機RGB色的命名。產生了954個能夠經過xdcd_rgb字典中調用的命名顏色。

輸入:

# xkcd經過skcd_rgb設置顏色
 plt.plot([0, 1], [3, 0], sns.xkcd_rgb["piss yellow"], lw=4) plt.plot([0, 1], [1, 1], sns.xkcd_rgb["cherry"], lw=3) plt.plot([0, 1], [0, 3], sns.xkcd_rgb["robin egg blue"], lw=3) # 經過顏色名字來調用顏色, # 也能夠經過顏色的16進制編碼調用顏色 # lw : linewidth設置

 

輸出:

輸入:

# xkcd 經過顏色名稱設置顏色
 colors = ["windows blue", "amber", "greyish", "faded green", "dusty purple"] sns.palplot(sns.xkcd_palette(colors))

 

輸出:

連續色板

 色彩隨數據變換,好比數據愈來愈重要則顏色愈來愈深。

輸入:

# 設置漸變色
 sns.palplot(sns.color_palette("Blues")) #設置某種顏色的一系列漸變色
sns.palplot(sns.color_palette("Blues_r",8))  # blues_r 反向

 

輸出:

輸入:

# 設置light風格的漸變色

#使用函數light_palette函數,設置連續色板的風格
sns.palplot(sns.light_palette("green"))   # 設置light風格的綠色漸變

 

輸出:

輸入:

# 設置dark風格的漸變色

# 使用dark_palette函數設置dark風格的漸變
sns.palplot(sns.dark_palette("purple"))  # 設置dark風格的紫色

 

輸出:

 

輸入:

# 設置漸變的顏色排列順序

# reverse參數設置漸變的排列順序
sns.palplot(sns.light_palette("navy", reverse=True)) #reverse能夠設置顏色排列順序

 

輸出:

漸變色簡單應用

輸入:

# 漸變色簡單易用

# 生成一個多元正態分佈矩陣 # 參數mean : 均值 # 參數cov : 協方差, array類型 # 參數size: 個數
x, y = np.random.multivariate_normal(mean=[0, 0], cov=[[1, -.5], [-.5, 1]], size=300).T pal = sns.dark_palette("green",as_cmap=True) # as_cmap=True,返回一個colormap對象
 sns.kdeplot(x, y, cmap=pal) # kdeplot : 核密度估計圖, # cmap=pal,以colormap方式來設置顏色

 

輸出:

 

4.單變量分析圖

import numpy as np import pandas as pd from scipy import stats, integrate import matplotlib.pyplot as plt import seaborn as sns

 

頻數直方圖

通常頻數直方圖

輸入:

# 頻數直方圖

# 生成100個成標準正態分佈的隨機數
x = np.random.normal(size=100) # sns.distplot畫頻數直方圖 # kde=True,進行核密度估計
sns.distplot(x,kde=True)

 

輸出:

設置頻數直方圖的bins 

輸入:

# 設置頻數直方圖的bins
 sns.distplot(x, bins=20, kde=False)

 

輸出:

分析數據分佈狀況

 輸入:

# 數據分佈狀況

# kde核密度估計, # fit擬合參數(黑色線條) # 藍色線條爲核密度估計線條
sns.distplot(x, kde=True, fit=stats.alpha)

 

輸出:

5.雙變量分析圖

主要用一下幾個圖畫雙變量的分析圖:

# 構造數據
 mean, cov = [0, 1], [(1, .5), (.5, 1)] # 二維多正態分數的數據
data = np.random.multivariate_normal(mean, cov, 200) df = pd.DataFrame(data, columns=["x", "y"]) #將array結構轉換爲dataframe結構,添加列名。

 

散點圖

輸入:

# 散點圖

# 通常用散點圖展現兩個變量間的關係
sns.jointplot(x='x', y='y', data=df, size=7)  # x,y參數也能夠用x=df['x'], y=df['y'] 的形式傳入

# sns.jointplot畫雙變量關係圖, # data傳入dataframe,x,y設置兩個變量數據, # size設置圖的大小

 

輸出:

六角圖

 輸入:

# 六角圖

# 數據
x, y = np.random.multivariate_normal(mean, cov, 1000).T # 設置畫圖風格
with sns.axes_style("white"): sns.jointplot(x=x, y=y, kind="hex", color="k", size = 7) # kind='hex' 畫出六角圖 # 六角圖中顏色越深的區域表示該區域的點越密集,數據越多

 

輸出:

pairplot函數

 輸入:

# pairplot函數

# 分析多個變量間,每兩個變量間的關係 # 不一樣變量間用散點圖表示 # 同一變量用直方圖表示

# 內置數據集:鳶尾花的數據集
iris = sns.load_dataset("iris") # print (iris.head()) sns.pairplot(iris)

 

輸出:

 

6.雙變量回歸分析圖

# 數據導入

import numpy as np import pandas as pd import matplotlib as mpl import matplotlib.pyplot as plt import seaborn as sns sns.set(color_codes=True) # 內置數據集tips小費
tips = sns.load_dataset("tips") tips.head()

兩變量回歸關係regplot實現

輸入:

# 兩變量畫迴歸關係圖(regplot函數)

# regplot()和lmplot()均可以繪製迴歸關係,推薦regplot()
 plt.figure(figsize = (7,7)) sns.regplot(x="total_bill", y="tip", data=tips) # sns.regplot畫數據散點和線性擬合的圖, # 設置x座標,y座標,data傳入dataframe

 

輸出:

兩變量回歸關係圖lmplot實現

輸入:

# 兩變量畫迴歸關係圖(lmplot函數)
 sns.lmplot(x="total_bill", y="tip", data=tips,size = 7)

輸出:

抖動設置

輸入:

# 設置橫向抖動

# x_jitter參數設置點橫向抖動量。
sns.regplot(x="size", y="tip", data=tips, x_jitter=.05) # 部分數據重疊,所以設置抖動,減小覆蓋點,便於觀察點的分佈

輸出:

 

7.多變量回歸分析圖

# 數據讀取

import numpy as np import pandas as pd import matplotlib as mpl import matplotlib.pyplot as plt import seaborn as sns # 設置風格
sns.set(style="whitegrid") # 數據加載
titanic = sns.load_dataset("titanic") tips = sns.load_dataset("tips") iris = sns.load_dataset("iris")

分類散點圖stripplot()實現(兩變量)

輸入:

# 分類散點圖(兩變量:day,total_bill)

# sns.stripplot()和sns.swarmplot()均能實現分類散點圖
 plt.figure(figsize=(10,6)) # 圖型基本設置
plt.xticks(size=12) plt.yticks(size=12) plt.xlabel('day',size=16) plt.ylabel( 'total_bill',size=16) # 分析day與total_bill間的關係
sns.stripplot(x="day", y="total_bill", data=tips)

輸出:

數據重疊嚴重,影響觀察數據的量,所以設置抖動。

輸入:

# 數據重疊嚴重,影響觀察數據的量,所以設置抖動

# jitter=True
sns.stripplot(x="day", y="total_bill", data=tips, jitter=True)

輸出:

分類散點圖swarmplot()實現(兩變量)

輸入:

# swarmplot函數實現類別散點圖
 sns.swarmplot(x="day", y="total_bill", data=tips)

輸出:

分類散點圖三變量實現

輸入:

# 分類散點圖(三變量:day, total_bill, sex)

# 傳入的第三個變量,經過顏色區分
 plt.figure(figsize=(10,6)) palette1=sns.color_palette("bright") # hue設置第三個變量,palette設置調色板顏色
sns.swarmplot(x="day", y="total_bill", hue="sex",palette = palette1,data=tips)

輸出:

輸入:

# 分類散點圖(三變量:day, total_bill, time)
 plt.figure(figsize=(10,6)) # hue接收第三個變量
sns.swarmplot(x="total_bill", y="day", hue="time", data=tips)

輸出:

盒圖(三變量)

 盒圖是顯示數據離散度的一種圖形。它對於顯示數據的離散的分佈狀況效果不錯。
 IQR = Q3-Q1,即上四分位數與下四分位數之間的差,也就是盒子的長度。
 N = 1.5IQR 若是一個值>Q3+N或 < Q1-N,則爲離羣點

 盒圖特色:
 經過盒圖,在分析數據的時候,盒圖可以有效地幫助咱們識別數據的特徵:
 直觀地識別數據集中的異常值(查看離羣點)。
 判斷數據集的數據離散程度和偏向(觀察盒子的長度,上下隔間的形狀,以及鬍鬚的長度)。

輸入:

# 盒圖(三變量:day,total_bill, time)

# sns.boxplot() # 盒圖是顯示數據離散度的一種圖形。它對於顯示數據的離散的分佈狀況效果不錯。 # IQR = Q3-Q1,即上四分位數與下四分位數之間的差,也就是盒子的長度。 # N = 1.5IQR 若是一個值>Q3+N或 < Q1-N,則爲離羣點

# 盒圖特色: # 經過盒圖,在分析數據的時候,盒圖可以有效地幫助咱們識別數據的特徵: # 直觀地識別數據集中的異常值(查看離羣點)。 # 判斷數據集的數據離散程度和偏向(觀察盒子的長度,上下隔間的形狀,以及鬍鬚的長度)。

# 基本設置
plt.figure(figsize=(10,6)) plt.xticks(size=12) plt.yticks(size=12) plt.xlabel('day',size=16) plt.ylabel( 'total_bill',size=16) sns.boxplot(x="day", y="total_bill", hue="time", data=tips)

輸出:

小提琴圖(三變量)

輸入:

# 小提琴圖(三變量:day, total_bill, time)

# sns.violinplot()函數實現
 plt.figure(figsize=(10,6)) plt.xticks(size=12) plt.yticks(size=12) plt.xlabel('total_bill',size=16) plt.ylabel( 'day',size=16) # sns.violinplot()畫小提琴圖
sns.violinplot(x="total_bill", y="day", hue="time", data=tips) # 圖中白點是中位數, # 中間黑色盒形是上四分位點和下四分位點, # 黑色的線條表示離羣點的離羣程度,越長表示離羣點越遠
 plt.show()

輸出:

小提琴圖設置

 輸入:

# 小提琴圖設置(三變量:day, total_bill, sex)

# split設置左右區分
sns.violinplot(x="day", y="total_bill", hue="sex", data=tips, split=True) plt.show()

輸出:

小提琴圖和分類散點圖組合

輸入:

# 小提琴圖和分類散點圖組合

# 基本設置
plt.figure(figsize=(10,6)) plt.xticks(size=12) plt.yticks(size=12) plt.xlabel('total_bill',size=16) plt.ylabel( 'day',size=16) # inner設置是否顯示中間的盒形和線條
sns.violinplot(x="day", y="total_bill", data=tips, inner=None) # alpha設置透明度
sns.swarmplot(x="day", y="total_bill", data=tips, color="w", alpha=.6) plt.show()

輸出:

平均數條形圖(三變量)

 輸入:

# 平均數條形圖(三變量:sex, survived, class)

# sns.barplot()函數實現平均數條形圖

# 基本設置
plt.figure(figsize=(10,6)) plt.xticks(size=12) plt.yticks(size=12) plt.xlabel('sex',size=16) plt.ylabel( 'survived',size=16) sns.barplot(x="sex", y="survived", hue="class", data=titanic,ci=95) #黑色線條表示置信度, # ci 設置黑色線條的大小,範圍在[0,100]
 plt.show()

輸出:

點圖(三變量)

輸入:

# 點圖(三變量:sex, survived, class)

# sns.pointplot()繪製點圖
 plt.figure(figsize=(10,6)) plt.xticks(size=12) plt.yticks(size=12) plt.xlabel('sex',size=16) plt.ylabel( 'survived',size=16) # 反映變化趨勢
sns.pointplot(x="sex", y="survived", hue="class", data=titanic,ci=70) # ci=70 設置執行度
 plt.show()

輸出:

點圖細節設置

輸入:

# 點圖細節設置
 sns.pointplot(x="class", y="survived", hue="sex", data=titanic, palette={"male": "g", "female": "m"}, markers=["^", "o"], linestyles=["-", "--"], scale=1.5) # palette 經過調色板來設置顏色, # markers設置點的形狀, # linestyles設置顯的風格, # scale設置線條的粗細
 plt.show()

輸出:

多層面板分類圖

輸入:

# 多層面板分類圖

# sns.factorplot() 實現多層面板分類圖

# x,y,hue設置要畫在一個圖中的數據集變量名
sns.factorplot(x="class", y="survived", hue="sex", data=titanic, size=6,ci=50) plt.show()

輸出:

輸入:

# 經過kind參數指定圖的類型
 sns.factorplot(x="day", y="total_bill", hue="smoker", data=tips, kind="bar", size=6) plt.show()

輸出:

四個變量下的分類散點圖

 輸入:

# 四個變量下的分類散點圖

# kind參數指定圖類型 # loc參數接收第四個參數
sns.factorplot(x="day", y="total_bill", hue="smoker",col="time", data=tips, kind="swarm", size=6) # 共四個變量了 # col和row設置更多的變量名,進行平鋪顯示(以不一樣的圖進行區分)
plt.show()

輸出:

四變量下的盒圖

輸入:

# 四變量下的盒圖
 sns.factorplot(x="time", y="total_bill", hue="smoker", col="day", data=tips, kind="box", size=6, aspect=1,col_wrap=2) plt.show()

輸出:

多變量分析圖其餘參數

Parameters:

  • x,y,hue 數據集變量 變量名
  • date 數據集 數據集名
  • row,col 更多分類變量進行平鋪顯示 變量名
  • col_wrap 每行的最高平鋪數 整數
  • estimator 在每一個分類中進行矢量到標量的映射 矢量
  • ci 置信區間 浮點數或None
  • n_boot 計算置信區間時使用的引導迭代次數 整數
  • units 採樣單元的標識符,用於執行多級引導和重複測量設計 數據變量或向量數據
  • order, hue_order 對應排序列表 字符串列表
  • row_order, col_order 對應排序列表 字符串列表
  • kind : 可選:point 默認, bar 柱形圖, count 頻次, box 箱體, violin 提琴, strip 散點,swarm 分散點 size 每一個面的高度(英寸) 標量 aspect 縱橫比 標量 orient 方向 "v"/"h" color 顏色 matplotlib顏色 palette 調色板 seaborn顏色色板或字典 legend hue的信息面板 True/False legend_out 是否擴展圖形,並將信息框繪製在中心右邊 True/False share{x,y} 共享軸線 True/False

8.FacetGrid()的使用方法

# 讀取數據
import numpy as np import pandas as pd import seaborn as sns from scipy import stats import matplotlib as mpl import matplotlib.pyplot as plt sns.set(style="ticks") tips = sns.load_dataset("tips") # tips.head()

FacetGrid()繪製頻數直方圖

輸入:

# FacetGrid()繪製頻數直方圖

# sns.FacetGrid,以網格圖的方式呈現多變量的關係

# 傳入的數據集「tips」 # 指定第四個變量「time」
g = sns.FacetGrid(tips, col="time", size=6)  # 建立畫板

# 繪製「tips」的頻數直方圖
g.map(plt.hist, "tip",edgecolor="white")

輸出:

FacetGrid()繪製散點圖

 輸入:

# FacetGrid()繪製散點圖

# 建立畫板及變量
g = sns.FacetGrid(tips, col="sex", hue="smoker",size=6) g.map(plt.scatter, "total_bill", "tip", alpha=.7) #添加圖例
g.add_legend() plt.show()

輸出:

FacetGrid()繪製迴歸關係圖

 輸入:

# FacetGrid()繪製迴歸關係圖

# margin_titles是否顯示邊緣的標題
g = sns.FacetGrid(tips, row="smoker", col="time", margin_titles=True) #fit_reg是否顯示擬合曲線
g.map(sns.regplot, "size", "total_bill", color="g", fit_reg=False, x_jitter=.1) plt.show()

輸出:

FacetGrid()繪製bar圖

輸入:

# FacetGrid()繪製bar圖
 g = sns.FacetGrid(tips, col="day", size=4, aspect=.5) # aspect設置長寬比
 g.map(sns.barplot, "sex", "total_bill") plt.show()

輸出:

FacetGrid()指定畫圖順序

輸入:

# 指定畫圖順序

from pandas import Categorical # 獲取數據的索引
ordered_days = tips.day.value_counts().index print (ordered_days) # Categorical指定順序,裏面傳入自定義順序
ordered_days = Categorical(['Thur', 'Fri', 'Sat', 'Sun']) # row_order=ordered_days設置順序
g = sns.FacetGrid(tips, row="day", row_order=ordered_days, size=1.7, aspect=4,) g.map(sns.boxplot, "total_bill") plt.show()

輸出:

FacetGrid()繪製散點圖

輸入:

# FacetGrid()繪製散點圖
 pal = dict(Lunch="seagreen", Dinner="gray") g = sns.FacetGrid(tips, hue="time", palette=pal, size=5) # s設置點的大小, # edgecolor設置點邊緣的顏色
g.map(plt.scatter, "total_bill", "tip", s=50, alpha=.7, linewidth=2, edgecolor="r") # 添加圖例
g.add_legend() plt.show()

輸出:

散點圖細節設置:

輸入:

# 散點圖細節設置1

# palette 設置顏色 # hue_kws指定線型
g = sns.FacetGrid(tips, hue="sex", palette="Set1", size=5, hue_kws={"marker": ["^", "v"]}) g.map(plt.scatter, "total_bill", "tip", s=100, linewidth=.5, edgecolor="white") g.add_legend() plt.show()

輸出:

輸入:

# 散點圖細節設置2

# 涉及到了四個變量, # tips、totall bill、smoker和sex, # 使用row和col的兩個變量進行平鋪區分顯示
with sns.axes_style("white"): g = sns.FacetGrid(tips, row="sex", col="smoker", margin_titles=True, size=5) # 設置座標軸的標題,傳入XY軸的標題,字符串形式 
g.map(plt.scatter, "total_bill", "tip", color="#334488", edgecolor="white", lw=.5); # 設置標籤
g.set_axis_labels("Total bill (US Dollars)", "Tip") # 設置座標軸刻度
g.set(xticks=[10, 30, 50], yticks=[2, 6, 10]) #設置子圖之間的間距
g.fig.subplots_adjust(wspace=.02, hspace=.02)

輸出:

PairGrid()繪製多變量間散點圖

通常圖形

輸入:

# PairGrid()畫多變量間散點圖

# 讀取數據
iris = sns.load_dataset("iris") # 指定畫板,傳入數據
g = sns.PairGrid(iris) # map畫圖
g.map(plt.scatter) plt.show()

輸出:

細節設置

輸入:

# PairGrid()細節設置
 g = sns.PairGrid(iris) # 設置對角線上的圖的類型
g.map_diag(plt.hist) # 設置非對角線上圖的類型
g.map_offdiag(plt.scatter) plt.show()

輸出:

添加變量

輸入:

# 添加變量species
 g = sns.PairGrid(iris, hue="species") g.map_diag(plt.hist) g.map_offdiag(plt.scatter) g.add_legend()#添加圖例
plt.show()

輸出:

設置多指標

輸入:

# 設置要畫的指標

# 經過vars指定要畫的指標
g = sns.PairGrid(iris, vars=["sepal_length", "sepal_width"], hue="species") g.map(plt.scatter) g.add_legend() plt.show()

輸出:

 

 顏色控制

輸入:

# 顏色控制

# palette 使用調色板來設置顏色
g = sns.PairGrid(tips, hue="size", palette="GnBu_d",size = 4) g.map(plt.scatter, s=70, edgecolor="white") g.add_legend() plt.show()

輸出:

9.熱度圖(heatmap)

通常圖形

# 數據讀取
import matplotlib.pyplot as plt import numpy as np; np.random.seed(0) import seaborn as sns; sns.set()

輸入:

# 熱度圖
uniform_data = np.random.rand(3, 3) # print (uniform_data)
heatmap = sns.heatmap(uniform_data) # 經過顏色的變化反映數字大小

輸出:

細節設置

設置bar兩端

 輸入:

# vmix,vmax設置bar兩端

# 設置bar的兩端
ax = sns.heatmap(uniform_data, vmin=0.2, vmax=0.5) # 大於0.5定爲淡色,小於0.2就定爲黑色

輸出:

設置中間數

輸入:

# center設置中間數

# center = 0 # 大於0屬於一種色系 # 小於0屬於另外一種色系
 normal_data = np.random.randn(3, 3) # print (normal_data)
ax = sns.heatmap(normal_data, center=0)

輸出:

pivot()重塑數據

通常圖形

輸入:

# pivot()重塑數據

# 數據讀取
flights = sns.load_dataset("flights") # flights.head()

# pivot重塑數據,產生一個「pivot」表格,造成dataframe結果
flights1 = flights.pivot("month", "year", "passengers") # print (flights1)
 plt.figure(figsize=(10,8)) ax = sns.heatmap(flights1)

輸出:

添加數值

輸入:

# 添加數值
 plt.figure(figsize=(10,8)) # annot顯示註釋, # fmt設置註釋的形式
ax = sns.heatmap(flights1, annot=True,fmt="d") # fmt='d': 十進制的整數顯示 # fmt='f' : float小數 # fmt='e': 科學計數法

輸出:

設置間距

輸入:

# 設置間距
 plt.figure(figsize=(10,8)) # linewidths設置色塊之間的間距
ax = sns.heatmap(flights1, linewidths=1)

輸出:

設置顏色

 輸入:

# 設置顏色
 plt.figure(figsize=(10,8)) ax = sns.heatmap(flights1, cmap="YlGnBu") # cmap設置顏色。

輸出:

設置bar的顯示與否

輸入:

# 設置bar的顯示與否
 plt.figure(figsize=(8,8)) #cbar設置colorbar是否顯示
ax = sns.heatmap(flights1, cbar=False)

輸出:

相關文章
相關標籤/搜索