分類屬性設置-可視化

分類繪圖屬性設置

#senborn繪製迴歸分析,使用seaborn的內置數據集‘tips’,是pandas的dataframe格式
#直接點head,total_bill 消費金額,tip 消費,sex性別,smoker是否抽菸,day是星期,time是中飯還是午飯,size用餐人數

## 一、導入常用包
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib as mlp
import matplotlib.pyplot as plt

## 二、導入seanborn內置數據集’tips‘

titanic = sns.load_dataset("titanic")
tips = sns.load_dataset("tips")
iris = sns.load_dataset("iris")

## 四、重點 多變量回歸分析
# 對於星期幾,只有1234567這幾個類別值,這樣的數據如何很好的可視化展示,重要
#對於類別可以用stripplot,並不推薦大家使用,因爲堆在一塊了某天的,通常數據量比較大。這個是需要我們解決的問題,解決堆積問題

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

#方案1 還是stripplot,但是加上jitter ,jitter=true,即要把我這個點進行偏,隨機偏動,更清晰展示
#重疊是很常見的現象,但是重疊營銷了我觀察數據的量了
# sns.stripplot(x="day",y="total_bill",data=tips,jitter=True)
#plt.show()
#方案2 用 看起來像數一樣,用swarmplot函數,類似聖誕樹,這個比較好比上個,還可以加上一個屬性,加上一個hue指標,通用的參數這是hue等
# sns.swarmplot(x="day",y="total_bill",data=tips,hue="sex")


##橫豎着話,x和y調過來即可


##五、盒圖,一般情況下數據並不是那麼的好,會有離羣值(異常值),sns.boxplot,傳入x,傳入y,傳入data
# IQR即統計學概念四分位距離,即第一/四分位與第三/四分位之間的距離
# N=1.5IQR 如果一個值>Q3+N,或者<Q1-N,則爲離羣點,兩個橫槓表示最大值,最小值,菱形表示離羣點

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

##六、琴形圖,越胖出現的次數越多,越瘦出現的次數越小,可以指定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)
# plt.show()

## 七、圖合併,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,可以分組
##數據集是泰坦尼克號數據集,class是頭等艙、二等艙、三等艙,y是獲救率
# sns.barplot(x='sex',y='survived',hue='class',data=titanic)

##點圖,可以更好的描述變化差異,點圖pointplot.用的蠻多的,linestyles是線形(折線圖)
# 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=['-','--']) #palette用大括號,其他的用中括號記住

## 寬形數據,畫橫的圖,只需要加個參數orient="h"
# sns.boxplot(data=iris,orient='h')

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

# 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',)

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空間大小,慢慢自己把握


plt.show()

seaborn.factorplot(x=None, y=None, hue=None, data=None, row=None, col=None, col_wrap=None, estimator=, 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 數據集變量 變量名
  • 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
發佈了14 篇原創文章 · 獲贊 4 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章