小提琴图

小提琴图violinplot

小提琴图为箱线图的一个变种,它将分布的核密度估计曲线与箱线图结合在一起。最外围的形状展示了该位置的密度,这样就可以知道数据在哪里分布密度高,哪里分布密度低。中间白点表示中位数,黑色粗条(黑箱)表示四分位数范围(25%分位数和75%分位数),从其延伸的幼细黑线代表 95% 置信区间。

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
plt.rcParams["font.sans-serif"]=["SimHei"] #用来正常显示中文标签
df = pd.read_csv(r"G:\Kaggle\Titanic\train.csv") #导入数据

对连续变量年龄做基础分析

仅有定量变量:年龄因素

sns.violinplot(y="Age",data=df,palette="Set3")
plt.title("乘客年龄分布情况",fontsize="xx-large",color="white",backgroundcolor="b")  #图表标题设置
#参数说明:
# fontsize 设置字体大小,默认12,可选参数 ['xx-small', 'x-small', 'small', 'medium', 'large','x-large', 'xx-large']
# color 字体颜色
# fontweight设置字体粗细,可选参数 ['light', 'normal', 'medium', 'semibold', 'bold', 'heavy', 'black']
# fontstyle设置字体类型,可选参数[ 'normal' | 'italic' | 'oblique' ],italic斜体,oblique倾斜
# verticalalignment设置水平对齐方式 ,可选参数 : 'center' , 'top' , 'bottom' ,'baseline' 
# horizontalalignment设置垂直对齐方式,可选参数:left,right,center
# alpha透明度,参数值0至1之间
# backgroundcolor标题背景颜色
# bbox给标题增加外框 ,常用参数如下:
#    boxstyle方框外形
#    facecolor(简写fc)背景颜色
#    edgecolor(简写ec)边框线条颜色
#    edgewidth边框线条大小

plt.show() #显示图形

png

年龄相对集中于20-30之间,此处的密度最大。年龄在70-80之间的都较少。

在年龄因素基础上,加入一个定性变量:船舱等级

sns.violinplot(x="Pclass",y="Age",data=df,palette="Set3")
plt.title("不同船舱等级乘客的年龄分布情况",fontsize="xx-large")
plt.show()

png

1.年龄的中位数:一等舱 > 二等舱 > 三等舱

2.在人口最集中的段位,三等舱是所有船舱中最年轻的,紧接着是二等舱,最后是一等舱。也反映了财富的积累跟年龄是挂钩的。

在年龄、船舱等级(一个定量、一个定性)因素的基础上,加入另一个定性变量:生存与否

sns.violinplot(x="Pclass",y="Age",hue="Survived",data=df,palette="Set3")
plt.title("各船舱等级、生存与否船员的年龄分布情况",fontsize="xx-large")
plt.show()

png

  • 另一种呈现方式
sns.violinplot(x="Pclass",y="Age",hue="Survived",data=df,palette="Set3",split=True)
plt.title("各船舱等级、生存与否船员的年龄分布情况",fontsize="xx-large")
plt.show()

png

posted @ 2018-08-23 23:58  喜欢吃面的猪猪  阅读(3314)  评论(0编辑  收藏  举报