seaborn?分類category

## 一、導(dǎo)入常用包

import pandas as pd

import numpy as np

import seaborn as sns

import matplotlib as mlp

import matplotlib.pyplot as plt

## 二、導(dǎo)入seanborn內(nèi)置數(shù)據(jù)集’tips‘

titanic = sns.load_dataset("titanic")

tips = sns.load_dataset("tips")

iris = sns.load_dataset("iris")

## 四、重點(diǎn) 多變量回歸分析

# 對于星期幾,只有1234567這幾個類別值,這樣的數(shù)據(jù)如何很好的可視化展示,重要

#對于類別可以用stripplot,并不推薦大家使用,因為堆在一塊了某天的,通常數(shù)據(jù)量比較大。這個是需要我們解決的問題,解決堆積問題

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

#方案1 還是stripplot,但是加上jitter ,jitter=true,即要把我這個點(diǎn)進(jìn)行偏,隨機(jī)偏動,更清晰展示

#重疊是很常見的現(xiàn)象,但是重疊營銷了我觀察數(shù)據(jù)的量了

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

#方案2 用 看起來像數(shù)一樣,用swarmplot函數(shù),類似圣誕樹,這個比較好比上個,還可以加上一個屬性,加上一個hue指標(biāo),通用的參數(shù)這是hue等

sns.swarmplot(x="day",y="total_bill",data=tips,hue="sex")

##橫豎著話,x和y調(diào)過來即可

##五、盒圖,一般情況下數(shù)據(jù)并不是那么的好,會有離群值(異常值),sns.boxplot,傳入x,傳入y,傳入data

# IQR即統(tǒng)計學(xué)概念四分位距離,即第一/四分位與第三/四分位之間的距離

# N=1.5IQR 如果一個值>Q3+N,或者<Q1-N,則為離群點(diǎn),兩個橫杠表示最大值,最小值,菱形表示離群點(diǎn)

sns.boxplot(x='day',y="total_bill",hue='time',data=tips)

plt.show()

#六、琴形圖,越胖出現(xiàn)的次數(shù)越多,越瘦出現(xiàn)的次數(shù)越小,可以指定split屬性,即左邊一個屬性,右邊一個屬性,split=true

sns.violinplot(x='total_bill',y='day',hue='time',data=tips)

sns.violinplot(x='total_bill',y='day',hue='sex',data=tips,split=True)

## 七、圖合并,alpha=.5代表透明程度,

sns.violinplot(x='day',y='total_bill',data=tips,inner=None)

sns.swarmplot(x='day',y='total_bill',data=tips,color = 'w',alpha=.5)

## 八、條形圖barplot,可以分組

##數(shù)據(jù)集是泰坦尼克號數(shù)據(jù)集,class是頭等艙、二等艙、三等艙,y是獲救率

sns.barplot(x='sex',y='survived',hue='class',data=titanic)

##點(diǎn)圖,可以更好的描述變化差異,點(diǎn)圖pointplot.用的蠻多的,linestyles是線形(折線圖)

sns.pointplot(x='sex',y='survived',hue='class',data=titanic)

##點(diǎn)圖,參數(shù)化設(shè)置

sns.pointplot(x='class',y='survived',hue='sex',data=titanic,

palette={'male':'g',"female":"m"},

markers=["^","o"],linestyles=['-','--']) #palette用大括號,其他的用中括號記住

##九、多層面板分類圖(常用的)factorplot,在這里可以畫各種圖,只要把kind指定好即可

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",col="time",data=tips,kind='swarm')

sns.factorplot(x="time", y="total_bill", hue="smoker",

col="day", data=tips, kind="box", size=4, aspect=1) #size空間大小,慢慢自己把握

參數(shù)解釋

seaborn.factorplot(x=None, y=None, hue=None, data=None, row=None, col=None, col_wrap=None, estimator=<function mean>, ci=95, n_boot=1000, units=None, order=None, hue_order=None, row_order=None, col_order=None, kind='point', size=4, aspect=1, orient=None, color=None, palette=None, legend=True, legend_out=True, sharex=True, sharey=True, margin_titles=False, facet_kws=None, **kwargs)

### Parameters: ###

* x,y,hue 數(shù)據(jù)集變量 變量名

* date 數(shù)據(jù)集 數(shù)據(jù)集名

* row,col 更多分類變量進(jìn)行平鋪顯示 變量名

* col_wrap 每行的最高平鋪數(shù) 整數(shù)

* estimator 在每個分類中進(jìn)行矢量到標(biāo)量的映射 矢量

* ci 置信區(qū)間 浮點(diǎn)數(shù)或None

* n_boot 計算置信區(qū)間時使用的引導(dǎo)迭代次數(shù) 整數(shù)

* units 采樣單元的標(biāo)識符,用于執(zhí)行多級引導(dǎo)和重復(fù)測量設(shè)計 數(shù)據(jù)變量或向量數(shù)據(jù)

* order, hue_order 對應(yīng)排序列表 字符串列表

* row_order, col_order 對應(yīng)排序列表 字符串列表

* kind : 可選:point 默認(rèn), bar 柱形圖, count 頻次, box 箱體, violin 提琴, strip 散點(diǎn),swarm 分散點(diǎn)

size 每個面的高度(英寸) 標(biāo)量

aspect 縱橫比 標(biāo)量

orient 方向 "v"/"h"

color 顏色 matplotlib顏色

palette 調(diào)色板 seaborn顏色色板或字典

legend hue的信息面板 True/False

legend_out 是否擴(kuò)展圖形,并將信息框繪制在中心右邊 True/False

share{x,y} 共享軸線 True/False

完整筆記+圖片鏈接地址

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容