数据可视化(三)- Seaborn简易入门
本文數據來源:http://www.cdc.gov/nchs/nsfg.htm
本文摘要:介紹一個以matplotlib為底層,更容易定制化作圖的庫Seaborn
?
Seaborn其實是在matplotlib的基礎上進行了更高級的API封裝,從而使得作圖更加容易,在大多數情況下使用seaborn就能做出很具有吸引力的圖,而使用matplotlib就能制作具有更多特色的圖。應該把Seaborn視為matplotlib的補充,而不是替代物。
?
安裝seaborn的方法
pip install seaborn原始數據展現(這是一份家庭調查的數據,preglngth - 懷孕周長, birthord - 孕婦的第幾個孩子, birthwgt_lb1 - 嬰兒重量(單位:磅), birthwgt_oz1 - 嬰兒重量(單位:盅司), agepreg - 孕婦在分娩時的年齡)
import pandas as pdbirths = pd.read_csv('births.csv')直方圖
在上一篇文章中已經使用過pandas.DataFrame.hist()來制作直方圖了,現在用seaborn.distplot()來制作直方圖,觀察之間的差異
# 對上表的prglngth列做一個直方圖import matplotlib.pyplot as pltimport seaborn as sns #要注意的是一旦導入了seaborn,matplotlib的默認作圖風格就會被覆蓋成seaborn的格式%matplotlib inline # 為了在jupyter notebook里作圖,需要用到這個命令sns.distplot(births['prglngth'])sns.plt.show()可以看到與使用matplotlib作的直方圖最大的區別在于有一條密度曲線(KDE),可以通過設置參數去掉這條默認的曲線
sns.distplot(births['prglngth'], kde=False)sns.plt.show()?
那么Pandas與Seaborn之間有什么區別呢?
其實兩者都是使用了matplotlib來作圖,但是有非常不同的設計差異
?
# 對上圖進行更多的配置sns.set_style('dark') # 該圖使用黑色為背景色sns.distplot(births['prglngth'], kde=False) # 不顯示密度曲線sns.axlabel('Birth number', 'Frequency') # 設置X軸和Y軸的坐標含義sns.plt.show()?
箱型圖
# 以birthord作為x軸,agepreg作為y軸,做一個箱型圖sns.boxplot(x='birthord', y='agepreg', data=births)sns.plt.show()?
多變量作圖
seaborn可以一次性兩兩組合多個變量做出多個對比圖,有n個變量,就會做出一個n × n個格子的圖,譬如有2個變量,就會產生4個格子,每個格子就是兩個變量之間的對比圖
相同的兩個變量之間(var1? vs? var1 和 var2? vs? var2)以直方圖展示,不同的變量則以散點圖展示(var1? vs? var2 和var2? vs? var1)
要注意的是數據中不能有NaN(缺失的數據),否則會報錯
sns.pairplot(births, vars=['agepreg', 'prglngth','birthord'])sns.plt.show()總結
以上是生活随笔為你收集整理的数据可视化(三)- Seaborn简易入门的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据可视化(二)Matplotlib p
- 下一篇: logistic regession 损