seaborn seaborn绘制统计直方图、散点图(三)
#%%
%matplotlib inline
import numpy as np
import pandas as pd
from scipy import stats, integrate
import matplotlib.pyplot as plt
import seaborn as sns
sns.set(color_codes=True)
np.random.seed(sum(map(ord, "distributions")))
#%%
x = np.random.normal(size=100)
sns.displot(x,kde=False) # 其为统计直方图 kde:表示是否进行和密度估计
#%%
sns.displot(x, bins=20, kde=False) # bins:即将x轴平均分成多少等份
#%% md
### 数据分布情况 ###
#%%
np.random.seed(20180514)
x = np.random.normal(size=100)
sns.distplot(x, kde=False,fit=stats.gamma) # fit:指定统计的指标
#%% md
根据均值和协方差生成数据
#%%
mean, cov = [0, 1], [(1, .5), (.5, 1)]
data = np.random.multivariate_normal(mean, cov, 200) # 传入均值与协方差,生成200组数据
df = pd.DataFrame(data, columns=["x", "y"]) # 利用pandas转换成DataFrame的格式
df[:10]
#%% md
### 观测两个变量之间的分布关系最好用散点图 ###
#%%
sns.jointplot(x="x", y="y", data=df) # 绘制散点图
#%%
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")
#%% md
## 绘图分析特征与特征间的分布情况
#%%
iris = sns.load_dataset("iris")
iris
#%%
sns.pairplot(iris)
#%%