Travel Tips
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
分布数据可视化 - 直方图与密度图 distplot() / kdeplot() / rugplot()
distplot() / kdeplot() / rugplot()
import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns %matplotlib inline sns.set_style("darkgrid") sns.set_context("paper") # 设置风格、尺度 import warnings warnings.filterwarnings('ignore') # 不发出警告
rs = np.random.RandomState(10) # 设定随机数种子 s = pd.Series(rs.randn(100) * 100) sns.distplot(s,bins = 10,hist = True,kde = False,norm_hist=True, rug = True,vertical = False, color = 'y',label = 'distplot',axlabel = 'x') plt.legend() # bins → 箱数 # hist、ked → 是否显示箱/密度曲线 # norm_hist → 直方图是否按照密度来显示 # rug → 是否显示数据分布情况 # vertical → 是否水平显示 # color → 设置颜色 # label → 图例 # axlabel → x轴标注
# 颜色详细设置 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'
# 单个样本数据密度分布图 sns.kdeplot(s, shade = False, # 是否填充 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) # 创建图表
Sed ac lorem felis. Ut in odio lorem. Quisque magna dui, maximus ut commodo sed, vestibulum ac nibh. Aenean a tortor in sem tempus auctor
December 4, 2020 at 3:12 pm
Sed ac lorem felis. Ut in odio lorem. Quisque magna dui, maximus ut commodo sed, vestibulum ac nibh. Aenean a tortor in sem tempus auctor
December 4, 2020 at 3:12 pm
Donec in ullamcorper quam. Aenean vel nibh eu magna gravida fermentum. Praesent eget nisi pulvinar, sollicitudin eros vitae, tristique odio.
December 4, 2020 at 3:12 pm
我是 s enim interduante quis metus. Duis porta ornare nulla ut bibendum
Rosie
6 minutes ago