温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

R语言可视化中密度曲线图的介绍及其美化方法

发布时间:2021-07-23 09:11:21 来源:亿速云 阅读:310 作者:chen 栏目:大数据

这篇文章主要介绍“R语言可视化中密度曲线图的介绍及其美化方法”,在日常操作中,相信很多人在R语言可视化中密度曲线图的介绍及其美化方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”R语言可视化中密度曲线图的介绍及其美化方法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

今天跟大家分享关于密度曲线图及其美化技巧!

密度曲线图可能平时大家用的不多,不过其实没什么神秘,它的功能于直方图一样,都是用于表达连续型数值变量的分布形态。

案例还是使用之前的关于钻石的那个数据集。

R语言可视化中密度曲线图的介绍及其美化方法

密度曲线图所使用的图层函数为geom_density() ,而且函数内position参数位置类型与我们之前讲到的直方图、柱形图(条形图时一样的)。

ggplot(diamonds,aes(x=price))+geom_density()

R语言可视化中密度曲线图的介绍及其美化方法

里面的线条颜色是通过colour参数进行控制(一定要记好colour与fill两个颜色填充参数的区别,colour控制线条、点颜色、fill控制区域颜色,所以在散点图、曲线、折线图途中使用colour参数,在面积图、柱形图中使用fill参数)

ggplot(diamonds,aes(x=price))+geom_density(colour="steelblue")

R语言可视化中密度曲线图的介绍及其美化方法

当然密度曲线的函数中也允许出现分类变量:

ggplot(diamonds,aes(x=price,colour=clarity))+geom_density()

R语言可视化中密度曲线图的介绍及其美化方法

上面说过colour控制点、线条颜色、fill控制区域颜色,但是密度曲线算是一个另类,仔细看上图你会发现,它不同于折线图,因为每条密度曲线都是一个闭合曲线,所以他是允许使用fill参数填充闭合区域的:

ggplot(diamonds,aes(x=price,fill=clarity,alpha = 1/10))+geom_density()

R语言可视化中密度曲线图的介绍及其美化方法

你会发现这样出来的图形除了密度曲线内部除了被填充颜色之外,整体形状与使用colour参数填充线条颜色是一样的。

现在继续让我们回忆一下,关于上一节中将直方图时,处理position时的场景,position主要有四个我们常用的参数:

identity(不做任何变换)、stack(堆积)、dodge(簇状)、fill(百分比堆积)

其实只要是geom开头的集合图层对象,都是适用这几个参数的,那么跟我我们的分析,以上密度曲线图默认的参数应该是identity,下面验证我们的猜想。

ggplot(diamonds,aes(x=price,fill=clarity,alpha = 1/10))+geom_density(position="identity")

R语言可视化中密度曲线图的介绍及其美化方法

ggplot(diamonds,aes(x=price,colour=clarity))+geom_density(position="identity")

R语言可视化中密度曲线图的介绍及其美化方法

果然不出我们所料,默认的带分类变量的密度曲线图确实是使用默认的identity参数。

那么我们依次尝试其他几种参数情况下的密度曲线图呈现何种效果:

堆积:(position="stack")

ggplot(diamonds,aes(x=price,fill=clarity))+geom_density(position="stack")

R语言可视化中密度曲线图的介绍及其美化方法

ggplot(diamonds,aes(x=price,colour=clarity))+geom_density(position="stack")

R语言可视化中密度曲线图的介绍及其美化方法

堆积:(position="dodge")# 案例来说密度曲线做成簇状效果是不合适的,不过我还是想看下到底神马效果

ggplot(diamonds,aes(x=price,fill=clarity))+geom_density(position=position_dodge(width =1000))

R语言可视化中密度曲线图的介绍及其美化方法

ggplot(diamonds,aes(x=price,colour=clarity))+geom_density(position=position_dodge(width =1000))

R语言可视化中密度曲线图的介绍及其美化方法
R语言可视化中密度曲线图的介绍及其美化方法

大家可以看到使用dodge参数之后,R语言会有提示建议,密度曲线图中X轴必须是无重复间隔刻度的数据,而此处的概率密度曲线无法满足这个要求:

那么最后一个位置参数是position=fill (堆积百分比)

ggplot(diamonds,aes(x=price,fill=clarity))+geom_density(position="fill")

R语言可视化中密度曲线图的介绍及其美化方法

ggplot(diamonds,aes(x=price,colour=clarity))+geom_density(position="fill")

R语言可视化中密度曲线图的介绍及其美化方法

关于概率密度曲线的分面表达:

ggplot(diamonds,aes(x=price,fill=clarity))+geom_density(position="fill")+facet_grid(.~clarity)

R语言可视化中密度曲线图的介绍及其美化方法

ggplot(diamonds,aes(x=price,colour=clarity))+geom_density(position="fill")+facet_grid(.~clarity)

R语言可视化中密度曲线图的介绍及其美化方法

通过图形效果我们可以看到,概率密度曲线的分面表达式是没有实际意义的,因为单独一个序列中只有一个类别,那么它的占比自然就是百分之百。

通过套用主题及配色模板,我们可以对密度曲线图进行适当美化:

ggplot(diamonds,aes(x=price,fill=clarity))+geom_density(position="fill")+theme_wsj()+scale_fill_wsj()+guides(fill=guide_legend(title=NULL))  

R语言可视化中密度曲线图的介绍及其美化方法

ggplot(diamonds,aes(x=price,colour=clarity))+geom_density(position="fill")+theme_wsj()+scale_colour_wsj()+guides(colour=guide_legend(title=NULL))  

R语言可视化中密度曲线图的介绍及其美化方法

ggplot(diamonds,aes(x=price,fill=clarity))+geom_density(position="stack")+theme_wsj()+scale_fill_wsj()+guides(fill=guide_legend(title=NULL))  

R语言可视化中密度曲线图的介绍及其美化方法

ggplot(diamonds,aes(x=price,colour=clarity))+geom_density(position="stack")+theme_wsj()+scale_colour_wsj()+guides(colour=guide_legend(title=NULL))  

R语言可视化中密度曲线图的介绍及其美化方法

因为套用的配色模板中颜色数量上限是6个,而我们的分类变量类别有8个,所以最后两个类别的线条色、填充色改成了默认。

到此,关于“R语言可视化中密度曲线图的介绍及其美化方法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI