Seaborn--单变量分析(三)
程序员文章站
2022-07-14 10:06:13
...
%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.distplot(x,kde=False) #kde要不要做核密度估计
#20个bins
sns.distplot(x, bins=20, kde=False)
数据分布情况
x = np.random.gamma(6, size=200)
sns.distplot(x, kde=False, fit=stats.gamma) #fit当前的统计指标
#根据均值和协方差生成数据
mean, cov = [0, 1], [(1, 5), (5, 1)]
data = np.random.multivariate_normal(mean, cov, 200)
df = pd.DataFrame(data, columns=["x", "y"])
观测两个变量之间的分布关系最好用散点图
#jointplot 绘制xy之间关系 以及单变量的直方图
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") #数据量很大时,可以使用hex查看哪一块数据量最多,颜色越深,当前附近值的越多。
#鸢尾花数据集 包含花瓣和花萼之间的关系 花瓣的长度 花瓣的宽度 花萼的长度 花萼的宽度
iris = sns.load_dataset("iris")
sns.pairplot(iris)#查看两两之间的关系
#对角线是当前变量自身分布的情况,非对角线是不同特征之间的关系。