import numpy as np import pandas as pd from scipy import stats,integrate #stats統計簡寫,integrate積分 import matplotlib.pyplot as plt import seaborn as sns sns.set_color_codes() np.random.seed(sum(map(ord,'distributions'))) ##例1 # x=np.random.normal(size=100) # sns.distplot(x,bins =20,kde = False,fit=stats.gamma()) #distplot一般用於查看單變量的分佈,kde是核密度函數,以後會講
##例2 曲線擬合gamma分佈 # x = np.random.gamma(6,size=200) # sns.distplot(x,kde=False,fit=stats.gamma) #重要fit擬合曲線重要 #例3 根據均值和協方差生成數據 mean, cov = [0,1],[(1,.5),(.5,1)] data = np.random.multivariate_normal(mean,cov,200)#multivariate_normal多變量正態分佈 df= pd.DataFrame(data,columns=['x','y']) # print(df) ##例4 觀察兩個變量之間的分佈關係最好用散點圖jointplot,優勢是既有散點圖又有直方圖,還有相關係數 # sns.jointplot(x='x',y='y',data=df)#x變量,y變量,傳入數據 ##分塊散點圖hex參數,顏色深的表示出現的次數多 x,y=np.random.multivariate_normal(mean,cov,1000).T with sns.axes_style('white'): sns.jointplot(x=x,y=y,kind='hex',color='k') iris = sns.load_dataset('iris') #sns.pairplot(iris) ##指定分類變量的散點圖 sns.pairplot(iris,hue='species')#hue參數是指定分類變量 ##使用調色板palette='husl' sns.pairplot(iris,hue='species',palette='husl')#palette='husl'是使用調色板的意思 ##使用不同的形狀markers=["o", "s", "D"] sns.pairplot(iris,hue='species',palette='husl',markers=["o", "s", "D"]) ##改變對角圖,diag_kind='kde' sns.pairplot(iris,diag_kind='kde',hue='species',palette='husl',markers=["o", "s", "D"]) ##使用迴歸reg sns.pairplot(iris,kind='reg',palette='husl') ##改變點的形狀使用參數,使用edgecolor g7 = sns.pairplot(iris, diag_kind="kde", markers="+", plot_kws=dict(s=50, edgecolor="b", linewidth=1), diag_kws=dict(shade=True)) plt.show()