解决绘图中乱码问题
plt.rcParams['font.sans-serif']=['Simhei'] # 解决中文乱码问题
plt.rcParams['axes.unicode_minus']=False # 解决坐标轴刻度负号乱码
Seaborn中的三个类
FacetGrid类
JointGrid类
PairGrid类
Seaborn中数据集分布的可视化
Matplotlib是Python主要的绘图库。但是不建议你直接使用它,原因与不推荐你使用NumPy是一样的。虽然Matplotlib很强大,它本身就很复杂,你的图经过大量的调整才能变精致。
Seaborn其实是在matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易,在大多数情况下使用seaborn就能做出很具有吸引力的统计图表
导入标准库
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"))) # 随机数生成种子
单变量分布图
sns.distplot(a,bins=None,hist=True,kde=True,rug=False,fit=None,hist_kws=None,kde_kws=None,rug_kws=None,fit_kws=None,color=None,vertical=False,norm_hist=False,axlabel=None,label=None,ax=None,)
直方图
x = np.random.normal(size = 100)
sns.distplot(x,
bins = 30,
kde = True, # 是否化核密度曲线
rug = True # 是否将数组中的数据点画出来作为坐标轴的刻度线
)
核密度估计
或许你对核密度估计(KDE,Kernel density estimaton)可能不像直方图那么熟悉,但它是绘制分布形状的有力工具。如同直方图一样,KDE图会对一个轴上的另一轴的高度的观测密度进行描述:
绘制KDE比绘制直方图更有计算性。所发生的是,每一个观察都被一个以这个值为中心的正态( 高斯)曲线所取代。
x = np.random.normal(0, 1, size=10)
bandwidth = 1.06