seaborn 畫圖功能簡單總結
方式 :畫圖
探索型數據分析的常用圖表
- 條形圖、直方圖
- 餅圖(餅圖在探索型數據分析中使用較少,原因是肉眼對於角度之間的大小差別沒有對高度之間的差別敏感, 不容易看清楚,不明顯)
- 折線圖、散點圖
- 箱形圖
條形圖
seaborn.barplot(x="day",y="total_bill",data=tips)#條形圖 error bar 誤差 波動情況
直方圖 :整體分布情況
seaborn.distplot(X) #distribution
#line chart 折線圖 CI 68%確信
seaborn.pointplot(x="day",y="tip",data=tips,ci=68)
#scatter diagram 散點圖
兩個屬性的相關關係 賬單和小費 ,通過線性回歸做條線
seaborn.regplot(x="total_bill",y="tip",data=tips)
#box plot 箱形圖 數據分布情況 前25% ,最少25 在什麼地方 。。。異常值,差距值>1.5
seaborn.boxplot(x="day",y="total_bill",data=tips)
網路數據可視化:可以使用Gephi軟體(節點和邊的關係)
時空數據可視化:可以使用MapBox或CART實現(先從地圖上畫出來數據)
本節課所使用的數據為iris(150朵花)數據集,需要自行設置header
import pandas
#括弧裡面直接指定了數據的來源,當然你也可以按照老師視頻中所講授的來操作
iris = pandas.read_csv("G:/tools/python/iris.data.csv")#加州大學歐文分校
iris.columns=["sepal_length","sepal_width","petal_length","petal_width","species"]
iris.sample(10)#隨機取10個樣本
iris.describe()
繪圖基本指令
import seaborn
%matplotlib inline
seaborn.countplot(x="species",data=iris)
seaborn.barplot(x="species",y="petal_length",data=iris)
seaborn.boxplot(x="species",y="petal_length",data=iris)#箱型圖
#你是否也從上面的三種類型的繪圖結果中,對這個數據集有一個初步的印象了呢?
seaborn.distplot(iris["petal_width"])#傳入一個序列, 沒有區分類別
分類繪圖
#Pandas庫對類別進行選取,然後進行畫圖
iris_vir=iris[iris.species
== "Iris-virginica"]#比較
iris_s=iris[iris.species
== "Iris-setosa"]
#參數賦值,加上label&圖例&設置坐標軸範圍,xlim設置x軸範圍,ylim設置y軸範圍
iris_ver=iris[iris.species
=="Iris-versicolor"]
seaborn.distplot(iris_vir["petal_width"],label="vir").set(ylim=(0,15))
seaborn.distplot(iris_s["petal_width"],label="s")
seaborn.distplot(iris_ver["petal_width"],label="ver").legend()
#seaborn 非常強大的功能, FacetGrid 從數據集不同的側面進行畫圖,hue指定用於分類的欄位,使得代碼會更加簡潔
#嘗試修改row/col參數,替代hue參數,row:按行展示(展示為一列),col:按列展示(一行)
g=seaborn.FacetGrid(iris,row="species") #hue="species col 並排
g.map(seaborn.distplot,"petal_width").add_legend()
#畫出線性回歸的曲線
seaborn.regplot(x="petal_width",y="petal_length",data=iris)#散點圖 正相關
#分類畫線性回歸
g = seaborn.FacetGrid(iris,hue="species")
g.map(seaborn.regplot,"petal_width","petal_length")
g.map(seaborn.regplot,"petal_width","petal_length").add_legend()
#設置坐標軸範圍
g.set (xlim=(0,2.5))
g.map(seaborn.regplot,"petal_width","petal_length").add_legend()
#不顯示擬合曲線,用matplotlib畫散點圖
import matplotlib.pyplot as plt
g = seaborn.FacetGrid(iris,hue="species")
g.set(xlim=(0, 2.5))
g.map(plt.scatter,"petal_width","petal_length").add_legend()
※用python實現小豬佩奇
※Swoole實現基於WebSocket的群聊私聊
TAG:程序員小新人學習 |