[R语言]资料分析读书心得02---Aesthetic Mappings

「图表最重大的价值在于,它迫使我们注意到从没预料会看到的东西。」---------John Tukey

在这篇文章,aes() (Aesthetic Mappings 美学映射) 是我们这次主要要介绍的主题,首先我们先看到上次文章中出现的点状图。

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

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

虽然它是二维图形(x,y两个变数,即displ,hwy),但是我们可以透过aes()使得我们可以看到第三种变数。

我们来回顾一下资料型态:

glimpse(mpg)

http://img2.58codes.com/2024/20124935348Oubplej.png

其中displ代表的意思是车子的引擎大小,hwy代表的意思是车子在高速公路上的燃油效率。那我们再考虑class这个变数,它的意思是车子的种类。

我们如果执行以下程式码

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

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

则我们会看到,除了之前的散布图以外,它会依照class的不同,自动的给予不同的颜色,这样我们就可以看到更多的资讯。

接着我们还可以把color换成size,alpha或是shape试试。

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

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

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

http://img2.58codes.com/2024/201249354gIQONK0kt.png

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

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

我们会发现,会有各式不同的参数在支援我们绘图。而且它会自动帮你配好颜色或是形状,但是其实我们也可以自己设定。

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

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

甚至也可以做一些真假值的操作

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

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

我们还有其他方法可以检视到第三种变数。

ggplot(data=mpg)+  geom_point(mapping=aes(x=displ,y=hwy))+  facet_wrap(~class,nrow=2)

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

这个方法就是把我们第一张散布图根据不同的class做分类,个别绘製出子图,nrow的意思代表是要分成几列去呈现。

除此之外,我们甚至可以去看新增了两种变数的情况

ggplot(data=mpg)+  geom_point(mapping=aes(x=displ,y=hwy))+  facet_grid(drv~cyl)

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

如上图,它会把drv跟cyl再次做成二维网格,有些情况你会希望能做到这类的事情。

今天介绍了点状图的一些变形,事实上上述的一些方法也可应用在其他类型的图形上,我们在之后的文章会陆续介绍到,谢谢大家。


关于作者: 网站小编

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

热门文章