R语言可视化美化折线图、平滑曲线及路径图的方法
本篇内容介绍了“R语言可视化美化折线图、平滑曲线及路径图的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
创新互联专注为客户提供全方位的互联网综合服务,包含不限于网站建设、网站制作、黄山网络推广、微信小程序定制开发、黄山网络营销、黄山企业策划、黄山品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供黄山建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com
今天跟大家讲关于路径图、平滑曲线与折线图及其美化。
这里涉及到三个设计线条的特殊图层函数:
geom_smooth()、geom_path()、geom_line()
下面分别讲解:
关于geom_smooth():平滑曲线
ggplot(mpg,aes(cty,hwy))+geom_point()+geom_smooth()
平滑曲线专门用于对于散点图趋势的拟合,geom_smooth函数内部有默认的拟合规则(根据统计统计算法计算出的拟合规则,而非实际的点)。
其中的括号内有默认的method参数,代表着拟合曲线所用到的统计算法,se代表着误差范围。(就是围绕着拟合直线的颜色带)。
method中的类型常见的有lm\glm\gam\loess\rlm等,当数据集记录小于1000时,method的默认参数即为loess,大于1000时则为gam。
本例所用到mpg数据集只有234个记录,使用geom_smooth参数应该默认使用的方法参数就是loess,这里我们可以检验一下:
ggplot(mpg,aes(cty,hwy))+geom_point()+geom_smooth(method="loess")
误差范围的颜色带是可以通过se参数进行控制的,默认se=TRUE,这里设置为se=FALSE。
ggplot(mpg,aes(cty,hwy))+geom_point()+geom_smooth(method="loess",se=FALSE)
接下来我们依次尝试其他几个拟合曲线:
ggplot(mpg,aes(cty,hwy))+geom_point()+geom_smooth(method="lm",se=FALSE)
ggplot(mpg,aes(cty,hwy))+geom_point()+geom_smooth(method="glm",se=FALSE)
ggplot(mpg,aes(cty,hwy))+geom_point()+geom_smooth(method="gam",se=FALSE)
看上去没啥太大区别,可能是数据集太小的原因吧。
路径图:geom_path()
以上函数参数可以画出路径图,其实就是根据每一个数据点的出现先后顺序,依次链接所有点所形成的路径:
ggplot(mpg,aes(cty,hwy))+geom_path()
这种图乍看起来没啥意义,但是在某些特殊场景下,却能够表达出非常重要的信息,比如候鸟迁徙、病毒传播、甚至飞机航线等领域。
ggplot(mpg,aes(cty,hwy))+geom_point()+geom_path()
可以同时添加点函数和路径函数,制作出带有点标记的路径图。
ggplot(mpg,aes(cty,hwy))+geom_point(colour="steelblue")+geom_path(colour="red")
每一个图层函数内的图层对象都是可以单独定义颜色的。
折线图:geom_line()
以上是直线图的图层函数;它与路径图的唯一区别就是,在连接各点之前,会按照x轴数据对总体升序排列,所以最终的连线是非常清晰的顺序折线,不会存在交叉。(而路径图则按照实际数据点在数据集中出现的先后顺序依次联结)。
ggplot(mpg,aes(cty,hwy))+geom_line(colour="steelblue")
ggplot(mpg,aes(cty,hwy))+geom_point(colour="black")+geom_line(colour="steelblue")
为了更加明显的看出两者区别,我们换一个变量:
ggplot(CO2,aes(uptake,conc))+geom_line(colour="steelblue")+geom_point(colour="black")
ggplot(iris,aes(Sepal.Length,Sepal.Width))+geom_line(colour="steelblue")+geom_point(colour="white",shape=21,size=4,fill="Tomato")
加入分类变量后的折线图:
ggplot(iris,aes(Sepal.Length,Sepal.Width,colour=Species))+geom_line()+geom_point(colour="white",shape=21,size=4,fill="Tomato")
默认的折线线条位置参数应该position=identity,我们也可以尝试使用其他几个参数
ggplot(iris,aes(Sepal.Length,Sepal.Width,colour=Species))+geom_line(position="identity")+geom_point(colour="white",shape=21,size=4,fill="Tomato")
ggplot(iris,aes(Sepal.Length,Sepal.Width,colour=Species))+geom_line(position="stack")+geom_point(colour="white",shape=21,size=4,fill="Tomato",position="stack")
ggplot(iris,aes(Sepal.Length,Sepal.Width,colour=Species))+geom_line()+facet_grid(.~Species)+geom_point (colour="white",shape=21,size=4,fill="Tomato") #分面组图:
ggplot(iris,aes(Sepal.Length,Sepal.Width,colour=Species))+geom_line()+facet_grid(.~Species)+geom_point (colour="white",shape=21,size=4,fill="Tomato") +theme_wsj("rgby","")+scale_colour_wsj()+ggtitle("line plot")+guides(colour=guide_legend(title=NULL))
ggplot(iris,aes(Sepal.Length,Sepal.Width,colour=Species))+geom_line()+facet_grid(.~Species)+geom_point (colour="white",shape=21,size=4,fill="Tomato") +theme_economist()+scale_colour_economist()+ggtitle("line plot")+guides(colour=guide_legend(title=NULL))
“R语言可视化美化折线图、平滑曲线及路径图的方法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!
名称栏目:R语言可视化美化折线图、平滑曲线及路径图的方法
本文来源:http://pwwzsj.com/article/ipchgs.html