1.用seaborn的distplot()函數繪製直方圖。參數kde = True時會把分佈曲線也畫出來。dom
以下代碼所示是繪製標準正態分佈的分佈圖函數
1 import seaborn as sns 2 import numpy as np 3 import matplotlib as mpl 4 import matplotlib.pyplot as plt 5 6 7 x = np.random.normal(size=1000) 8 sns.distplot(x) 9 plt.show()
2.對於兩組變量關係,能夠用散點圖畫出他們的分佈。函數是jointplot()。spa
以下代碼是繪出二維正態分佈的散點圖code
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 8 data = np.random.multivariate_normal(mean=[0, 0], cov=[[1, 0], [0, 1]], size=1000) #1000組標準二維正態分佈 9 df = pd.DataFrame(data=data, columns=["x", "y"]) 10 sns.jointplot(x="x", y="y", kind="hex", data=df) 11 plt.show()
data是一個長度爲1000的ndarray類型,每一個元素又是一個二維向量,分別是二維正態分佈的兩個隨機變量的樣本值。因此能夠當成是1000*2的矩陣orm
利用DataFrame函數將ndarray變成DataFrame結構,而後利用jointplot()畫出散點圖。其中若是kind=「scatter」則是普通散點圖,這裏爲了不樣本太多,普通的散點圖可能連成一片看不出分佈差別,blog
用kind=「hex"來畫,運行結果以下pandas
3.最強大的函數應該是pairplot函數,它能對DataFram的屬性兩兩配對繪製散點圖,而且對某一屬性繪製直方圖class
以下代碼所示,iris是seaborn內置數據集import
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 iris = sns.load_dataset("iris") #seaborn內置數據集,DaraFram類型 8 sns.pairplot(iris, kind="hex") 9 plt.show()
運行結果以下變量