[R语言]资料分析读书心得03---Geometric Objects

上次我们看过了散布图(geom_point),在ggplot2中,其实有很多不同的geoms,像是长条图、线图、盒状图等等,都可以透过不同的geoms画出来。

先来回顾一下之前的点状图。

library(tidyverse)
ggplot(data=mpg)+  geom_point(mapping=aes(x=displ,y=hwy))

http://img2.58codes.com/2024/20124935uctGseVF0d.png

若是把point的部分代换成smooth,

ggplot(data=mpg)+  geom_smooth(mapping=aes(x=displ,y=hwy))

http://img2.58codes.com/2024/20124935aw2s2uQZ39.png

我们会看到,它画出了一条用来拟合资料的线。而这时候aes()的参数其实会有点不同,像是我们可以试试 linetype 。

ggplot(data=mpg)+  geom_smooth(mapping=aes(x=displ,y=hwy,linetype=drv))

http://img2.58codes.com/2024/20124935eYmJE4bYQH.png

我们可以看到,它会根据不同的 drv 去绘製不同的拟合线。 geom_smooth 的 aes() 究竟有何种参数呢?我们一样可以从 ?geom_smooth 去查看,以 geom_smooth 为例,它有:

x,y,alpha,color,fill,group,linetype,size,weight,ymax,ymin

其中 group 也会将资料自行分组,而且它不会加上右边的方框说明(legend)。

ggplot(data=mpg)+  geom_smooth(mapping=aes(x=displ,y=hwy,group=drv))

http://img2.58codes.com/2024/20124935KEnQwgmxro.png

也可以试试看 color

ggplot(data=mpg)+  geom_smooth(mapping=aes(x=displ,y=hwy,color=drv))

http://img2.58codes.com/2024/20124935gTqqxTJK7P.png

而事实上,我们其实也可以在一个图表上放两种不同的geoms。

ggplot(data=mpg)+  geom_smooth(mapping=aes(x=displ,y=hwy))+  geom_point(mapping=aes(x=displ,y=hwy))

http://img2.58codes.com/2024/20124935BXPod9ekvD.png

而以上语法也可以简化成以下

ggplot(data=mpg,mapping=aes(x=displ,y=hwy))+  geom_smooth()+  geom_point()

http://img2.58codes.com/2024/20124935nJlfcbZYqM.png

但是前提要是你想绘製的geoms的参数是相同的。接着我们可以加上更多花样

ggplot(data=mpg,mapping=aes(x=displ,y=hwy))+  geom_smooth()+  geom_point(mapping=aes(color=class))

http://img2.58codes.com/2024/20124935i3vadImrUA.png

如果说你只想看到某个class画出的拟合线,我们可以试试

ggplot(data=mpg,mapping=aes(x=displ,y=hwy))+  geom_smooth(    data=filter(mpg,class=="subcompact")  )+  geom_point(mapping=aes(color=class))

http://img2.58codes.com/2024/201249353x3yxHR8eP.png

如果想要消去灰色的阴影(事实上灰色阴影代表着是利用标準差算出来的信赖区间),可以加上 se=FALSE ,而不想看到 legend 的话可以加上 show.legend=FALSE,如下:

ggplot(data=mpg,mapping=aes(x=displ,y=hwy))+  geom_smooth(    data=filter(mpg,class=="subcompact") ,se=FALSE  )+  geom_point(mapping=aes(color=class) ,show.legend = FALSE)

http://img2.58codes.com/2024/20124935jXGRR97jWE.png

在 ggplot2 中的 geoms 超过三十种,但是操作方式与 geom_point 和 geom_smooth 大致上相似,所以可以根据你想绘製的图表去找到适合的 geoms ,再加上我们可以同时展示两种以上的 geoms ,那绘製出精美的图片似乎也不是问题了。这次到介绍到这里,谢谢大家。


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章