python可视化学习(十七)密度图

#认识绘制密度图的函数
#密度图是一种直方图和密度图的对比
#大多数密度估计是和密度的估计,核计算是比较复杂了
#通俗讲,纵坐标是相对用于不同类别的值
#构造数据,满足正态分布
data=np.random.rand(1000)
#画一个简单的密度图
sns.kdeplot(data);

在这里插入图片描述

**sns.kdeplot()**
> 函数功能
>> 拟合并绘制单变量或双变量核密度估计值  

> 重要参数   
>> data:数据集,可以只输入一个,也可以输入两个   
>> shade:在密度曲线下方加阴影(如果数据是双变量时,填充轮廓)   
>> vertical:控制密度轴向   
>> bw:类似于直方图中的binwidth,用于确定核大小    
>> kernel:核函数(双变量KDE只能使用高斯核)

>>> 核函数种类说明:   
>>> gau:gaussian高斯核(常用)   
>>> cos:cosine余弦     
>>> biw:biweight 四次   
>>> epa:Epanechnikov 抛物线   
>>> tri:triangle三角   
>>> triw:triweight 三次 
#给核密度图添加一些简单的装饰
sns.kdeplot(data
            ,shade=True       #填充曲线下阴影的控制参数
            #,vertical=True
            ,color='r'   #控制颜色
            ,alpha=0.8  #控制颜色的色彩饱和度
            ,linewidth=3
            ,linestyle='--'
           );

在这里插入图片描述

plt.hist(data);

在这里插入图片描述

df = pd.read_csv("mpg_ggplot2.csv")
df.loc[df.cyl==4,'cty'].values
#筛选出气缸数为4的城市里程
c4 = df.loc[df.cyl==4,'cty'].values`在这里插入代码片`

#绘制图形
sns.kdeplot(c4
            ,shade=True
            ,color='r'
            ,alpha=0.3
            ,label='Cyl=4'
           );

在这里插入图片描述

#提取绘图数据
c4 = df.loc[df.cyl==4,'cty'].values
c5 = df.loc[df.cyl==5,'cty'].values
c6 = df.loc[df.cyl==6,'cty'].values
c8 = df.loc[df.cyl==8,'cty'].values

#创建画布并设定画布尺寸
plt.figure(figsize=(12,8),dpi=60)

#绘制图形
sns.kdeplot(c4,shade=True,color='deeppink',alpha=0.6,label='Cyl = 4')
sns.kdeplot(c5,shade=True,color='green',alpha=0.6,label='Cyl = 5')
sns.kdeplot(c6,shade=True,color='blue',alpha=0.6,label='Cyl = 6')
sns.kdeplot(c8,shade=True,color='orange',alpha=0.6,label='Cyl = 8')

#添加装饰
plt.title('城市里程随气缸数变化密度图',fontsize=20)
plt.xlabel('城市里程(cty)',fontsize=18)
plt.xticks(fontsize=15)
plt.yticks(fontsize=15)
plt.legend(fontsize=13,loc=0);#loc=0,显示在空余部分

在这里插入图片描述

#源代码
#源代码

# Import Data
df = pd.read_csv("mpg_ggplot2.csv") #导入数据集

# Draw Plot
plt.figure(figsize=(12,8), dpi= 60) #创建画布并设定画布大小
sns.kdeplot(df.loc[df['cyl'] == 4, "cty"], shade=True, color="g", label="Cyl=4", alpha=.7)           #绘制气缸数为4的密度曲线
sns.kdeplot(df.loc[df['cyl'] == 5, "cty"], shade=True, color="deeppink", label="Cyl=5", alpha=.7)    #绘制气缸数为5的密度曲线
sns.kdeplot(df.loc[df['cyl'] == 6, "cty"], shade=True, color="dodgerblue", label="Cyl=6", alpha=.7)  #绘制气缸数为6的密度曲线
sns.kdeplot(df.loc[df['cyl'] == 8, "cty"], shade=True, color="orange", label="Cyl=8", alpha=.7)      #绘制气缸数为8的密度曲线

# Decoration
plt.title('Density Plot of City Mileage by n_Cylinders', fontsize=22) #添加标题
plt.legend() #添加图例
plt.show()   #本地显示图形

在这里插入图片描述

  • 2
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值