多變量分析繪圖(hue參數)以及盒圖和小提琴圖


1,函數stipplot()

  stipplot()函數用來畫散點圖,其x軸是離散型的變量

  直接上代碼

  

1 import seaborn as sns
2 import numpy as np
3 import pandas as pd
4 import matplotlib as mpl
5 import matplotlib.pyplot as plt
6 
7 tips = sns.load_dataset("tips")   #seaborn內置數據集,DaraFram類型
8 sns.stripplot(x="day", y="total_bill", data=tips)
9 plt.show()

  stipplot函數中的參數jitter是默認為True的,即數據點會沿着x軸方向抖動,這樣就避免數據點分布成與y軸平行的幾條直線了。下面是運行結果

 

2.函數swarpplot()

函數swamrpplot()和stripplot()相似,但是它會把重合的點沿着x軸方向對稱的展開,更好看。

代碼如下

1 import seaborn as sns
2 import numpy as np
3 import pandas as pd
4 import matplotlib as mpl
5 import matplotlib.pyplot as plt
6 
7 tips = sns.load_dataset("tips")   #seaborn內置數據集,DaraFram類型
8 sns.swarmplot(x="day", y="total_bill", hue="sex", data=tips)
9 plt.show()

參數hue=“sex",即指定數據按照sex列賦予不同顏色以示區分。運行結果如下

 

 

3.盒圖(函數boxplot())

1.盒圖介紹

  盒圖是在1977年由美國的統計學家約翰·圖基(John Tukey)發明的。它由五個數值點組成:最小值(min),下四分位數(Q1)中位數(median),上四分位數(Q3),最大值(max)。也可以往盒圖里面加入平均值(mean)。如圖。下四分位數、中位數、上四分位數組成一個“帶有隔間的盒子”。上四分位數到最大值之間建立一條延伸線,這個延伸線成為“胡須(whisker)”。

  盒圖可以過濾離群點,具體規則如下

  1、IQR = Q3-Q1,即上四分位數與下四分位數之間的差,也就是盒子的長度。
  2、最小 觀測值為min = Q1 - 1.5*IQR,如果存在 離群點小於最小觀測值,則胡須下限為最小觀測值,離群點單獨以點匯出。如果沒有比最小觀測值小的數,則胡須下限為最小值。
  3、最大觀測值為max = Q3 + 1.5*IQR,如果存在離群點大於最大觀測值,則胡須上限為最大觀測值,離群點單獨以點匯出。如果沒有比最大觀測值大的數,則胡須上限為最大值。

 

2.用boxplot()函數畫盒圖

  下面是代碼和運行截圖惹

 

1 import seaborn as sns
2 import numpy as np
3 import pandas as pd
4 import matplotlib as mpl
5 import matplotlib.pyplot as plt
6 
7 tips = sns.load_dataset("tips")   #seaborn內置數據集,DaraFram類型
8 sns.boxplot(x="day", y="total_bill", hue="sex", data=tips)
9 plt.show()

 

 

 

4.小提琴圖(函數violinplot)

1.小提琴圖的概念惹

小提琴圖 (Violin Plot) 用於顯示數據分布及其概率密度。

        這種圖表結合了箱形圖和密度圖的特征,主要用來顯示數據的分布形狀。中間的黑色粗條表示四分位數范圍,從其延伸的幼細黑線代表 95% 置信區間,而白點則為中位數。

        箱形圖在數據顯示方面受到限制,簡單的設計往往隱藏了有關數據分布的重要細節。例如使用箱形圖時,我們不能了解數據分布是雙模還是多模。雖然小提琴圖可以顯示更多詳情,但它們也可能包含較多干擾信息。

2.函數violinplot()

直接上代碼

1 import seaborn as sns
2 import numpy as np
3 import pandas as pd
4 import matplotlib as mpl
5 import matplotlib.pyplot as plt
6 
7 tips = sns.load_dataset("tips")   #seaborn內置數據集,DaraFram類型
8 sns.violinplot(x="day", y="total_bill", hue="sex", split=True, data=tips)
9 plt.show()

  split參數設置為True能夠將hue參數賦值的列分為兩側,如下運行結果

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM