參數 | 解釋 | 變量 |
---|---|---|
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 |
facet_kws | FacetGrid的其餘參數 | 字典 |
%matplotlib inline
import numpy as np
import pandas as pd
from scipy import stats,integrate
import matplotlib.pyplot as plt
import seaborn as sns
sns.set(style="whitegrid",color_codes=True)
#生成分類數據隨機種子
#map能夠把一個 list 轉換爲另外一個 list,只須要傳入轉換函數。
#ord函數主要用來返回對應字符的ascii碼,接受一個參數,返回值是int,整數
np.random.seed(sum(map(ord,"category")))
#自帶的數據集
titanic=sns.load_dataset("titanic")
tips=sns.load_dataset("tips")
iris=sns.load_dataset("iris")
sns.stripplot(x="day",y="total_bill",data=tips)
1.重疊是很常見的現象,可是重疊影響觀察數據的量,有以下方法解決:javascript
1-1.加入抖動量jittercss
sns.stripplot(x="day",y="total_bill",data=tips,jitter=True)
1-2. 畫分簇散點圖:它使用避免重疊點的算法將分類軸上的每一個散點圖點定位html
sns.swarmplot(x="day",y="total_bill",data=tips)
sns.swarmplot(x="day",y="total_bill",data=tips,hue="sex")
#您能夠使用orient關鍵字強制定向,但一般能夠從傳遞給x和/或y的變量的數據類型推斷繪圖方向
sns.swarmplot(x="total_bill", y="day", hue="time", data=tips);
sns.boxplot(x="day",y="total_bill",hue="time",data=tips);
sns.violinplot(y="day",x="total_bill",hue="sex",data=tips)
2-1 小提琴圖分割特徵java
sns.violinplot(x="day",y="total_bill",hue="sex",data=tips,split=True)
2-2兩種圖相互疊加python
sns.violinplot(x="day",y="total_bill",data=tips,inner=None)
sns.swarmplot(x="day",y="total_bill",data=tips,color="w",alpha=0.5)
sns.barplot(x="sex",y="survived",hue="class",data=titanic)
sns.pointplot(x="sex",y="survived",hue="class",data=titanic)
sns.pointplot(x="class",y="survived",hue="sex",data=titanic,
palette={"male":"g","female":"m"},#設置顏色
markers=["^","o"], linestyles=["-","--"]) #設置標記,線性
5.寬形數據jquery
sns.boxplot(data=iris,orient="h")#,orient="h"指定畫圖方向是橫的
6.多層面板分類圖linux
sns.factorplot(x="day",y="total_bill",hue="smoker",data=tips)
sns.factorplot(x="day",y="total_bill",hue="smoker",data=tips,kind="bar")
sns.factorplot(x="day",y="total_bill",hue="smoker",data=tips,kind="swarm",col="time")
sns.factorplot(x="day",y="total_bill",hue="smoker",data=tips,kind="box",col="day",size=4,aspect=0.5)