概述
文章目录
- 1.直方图(sns.distplot)
- 2.密度图(sns.kdeplot)
- 单样本密度图
- 双样本数据密度图
- 多个密度图
1.直方图(sns.distplot)
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
sns.set_style('white')#设置绘图风格
sns.set_context('notebook')#设置尺寸
#直方图
s = pd.Series(np.random.randn(100))
sns.distplot(s,
bins=10,#柱子的个数
hist=True,#是否绘制直方图
kde=True,#是否绘制密度图
rug=True,#数据分布标尺
fit=None,
hist_kws=None,
kde_kws=None,
rug_kws=None,
fit_kws=None,
color='r',#颜色
vertical=False,#是否水平绘制
norm_hist=False,#标准化,kde为True时自动标准化
axlabel=None,#x轴标注
label=None,#图例标签,通过plt.legend()显示
ax=None,
)
# 颜色详细设置
sns.distplot(s,rug = True,
rug_kws = {'color':'g'} ,
# 设置数据频率分布颜色
kde_kws={"color": "k", "lw": 1, "label": "KDE",'linestyle':'--'},
# 设置密度曲线颜色,线宽,标注、线形
hist_kws={"histtype": "step", "linewidth": 1,"alpha": 1, "color": "g"})
# 设置箱子的风格、线宽、透明度、颜色
# 风格包括:'bar', 'barstacked', 'step', 'stepfilled'
2.密度图(sns.kdeplot)
单样本密度图
# 单个样本数据密度分布图
sns.kdeplot(s,
shade = True, # 是否填充
color = 'r', # 设置颜色
vertical = False # 设置是否水平
)
sns.kdeplot(s,bw=5, label="bw: 0.2",
linestyle = '-',linewidth = 1.2,alpha = 0.5)
sns.kdeplot(s,bw=20, label="bw: 2",
linestyle = '-',linewidth = 1.2,alpha = 0.5)
# bw → 控制拟合的程度,类似直方图的箱数
sns.rugplot(s,height = 0.1,color = 'k',alpha = 0.5)
# 数据频率分布图
双样本数据密度图
# 两个样本数据密度分布图
rs = np.random.RandomState(2) # 设定随机数种子
df = pd.DataFrame(rs.randn(100,2),
columns = ['A','B'])
sns.kdeplot(df['A'],df['B'],
cbar = True, # 是否显示颜色图例
shade = True, # 是否填充
cmap = 'Reds', # 设置调色盘
shade_lowest=False, # 最外围颜色是否显示
n_levels = 10 # 曲线个数(如果非常多,则会越平滑)
)
# 两个维度数据生成曲线密度图,以颜色作为密度衰减显示
sns.rugplot(df['A'], color="g", axis='x',alpha = 0.5)
sns.rugplot(df['B'], color="r", axis='y',alpha = 0.5)
# 注意设置x,y轴
多个密度图
# 两个样本数据密度分布图
# 多个密度图
rs1 = np.random.RandomState(2)
rs2 = np.random.RandomState(5)
df1 = pd.DataFrame(rs1.randn(100,2)+2,columns = ['A','B'])
df2 = pd.DataFrame(rs2.randn(100,2)-2,columns = ['A','B'])
# 创建数据
sns.kdeplot(df1['A'],df1['B'],cmap = 'Greens',
shade = True,shade_lowest=False)
sns.kdeplot(df2['A'],df2['B'],cmap = 'Blues',
shade = True,shade_lowest=False)
# 创建图表
最后
以上就是纯真康乃馨为你收集整理的Seaborn:直方图/密度图的全部内容,希望文章能够帮你解决Seaborn:直方图/密度图所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复