首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用ggplot进行数据可视化-02

前一节我们介绍了如何用ggplot函数绘制简单的散点图,并对数据框进行了简单介绍。这一节我们来学习如何修改图形的属性(颜色,大小,形状等)以及如何进行分面操作,以便更好的观察数据子集细微的特征。

关于颜色的设置,我们可以考虑这样一个问题,怎么样在图上将不同类型的汽车明确的区分开,以便更好的分析不同类型汽车之间的差异呢?如果我们可以做到改变图中点的颜色,这个问题就迎刃而解了。基于这个考虑,我们添加一个颜色参数colour=class,结果可以一目了然的区分开不同类型的汽车,它们的发动机引擎大小和燃油效率的关系也能够大致的做一个对比。

同样的,我们可以改变点的形状来做到区分数据点的类别,添加参数,shape=class。需要注意的是,suv这里显示为空,并且给出了警告信息,说shape参数最多可以为6类,我们的类型是7类,超了,所以suv的数据都丢失了,不在图中显示。

需要注意的是,当我们顺理成章的将图中点的大小用class来表示是,会出现一个什么样的情况呢?我们添加参数size=class,结果图中很多点都出现了覆盖,这个效果不是我们想要的,同时给出了警告信息,离散型的变量赋值给size参数不是一个好主意。

关于分面,一定不要把它打成“分娩”,意思差别太大。分面,这个词听起来一点都不可爱,很抽象,很晦涩,很讨厌。为了形象的理解它,我们考虑这样一个问题,我们之前绘制的图形,都是利用所有数据绘制出的引擎大小和燃油效率的关系,如果我们需要绘制不同类型的汽车的引擎大小和燃油效率的关系,并且在一张图上加以显示,这样的操作就叫做分面。我们需要在原有绘图代码中添加一个facet_wrap(~class,nrow=2)函数,这里需要注意的是,传递给facet_wrap函数的变量需是离散型的分类变量。这里的nrow是对输出行数的设置。

以上只是对列做分面,如果需要对行和列,需要用函数facet_grid(drv~cyl),如果要省略一个参数,可以用"."代替,即acet_grid(.~cyl)或者acet_grid(drv~.)。

具体的操作及效果可以看视频。

看完以后,可以思考以下几个问题:

一是如何将所有的点都变成蓝色?

二是什么样的参数需要赋值连续型变量(离散型变量)?

三是stroke这个参数的作用是什么?

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180816G06IDB00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券