前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >55-R可视化-4-ggplot2基石三部曲之基础一

55-R可视化-4-ggplot2基石三部曲之基础一

作者头像
北野茶缸子
发布2021-12-17 10:50:19
5090
发布2021-12-17 10:50:19
举报
文章被收录于专栏:北野茶缸子的专栏

开篇语

这一个部分一共三篇,学会了基本上你的ggplot 就达到ggplot 界小学二年级的水平了吧~

开始前

主要为ggplot2 中的前三个部分的内容。

ggplot2

可视化使得数据科学从业者更好地分析并解释数据 常用的ggplot 模版

ggplot2 的图形可以按照七种参数来对其进行调整

简单模版

代码语言:javascript
复制
ggplot(data = ) + 
<geom_function>(mapping = aex())

ggplot 的学习路径

image.png

data 数据

image.png

aes 及映射

image.png

代码语言:javascript
复制
group #分组
labels #标记

关于aes 相关参数可以直接为这些参数赋值为相关的变量,通过映射的方式,按照函数默认方式为它们赋值。

代码语言:javascript
复制
ggplot(data = test)+
  geom_point(mapping = aes(x = Sepal.Length,
                           y = Petal.Length,
                           color = Species))

如果想要将以上的参数赋值为手动定义的内容,则需要将其抽出aes 函数内。

代码语言:javascript
复制
ggplot(data = test)+
  geom_point(mapping = aes(x = Sepal.Length,
                           y = Petal.Length),
            color = "red")

手动设置与映射

映射要有“领导思维”,直接将变量给对应的参数;手动设置则“精准定位”,该是什么就给参数设定什么。

shape

具体的shape 有25个值。

facet 分面

facetgrid()

image.png

代码语言:javascript
复制
ggplot(mpg) + 
  geom_point(aes(displ,hwy,color=drv)) +
  facet_grid(drv ~ cyl)

image.png

facet_warp()

facet_grid 对多图形的分面显示不是特别友好,而facet_warp() 则可以设定分面行与列的数目。

对比一下

代码语言:javascript
复制
ggplot(mpg) + 
  geom_point(aes(displ,hwy,color=drv)) +
  facet_grid(class~.)

image.png

代码语言:javascript
复制
ggplot(mpg) + 
  geom_point(aes(displ,hwy,color=drv)) +
  facet_wrap(~class, ncol = 3)

warp与grid 的区别

warp 只能对一种变量进行分类(一个维度),因此如果对其使用两个变量,则其会罗列在一个维度。

但其相比grid 的优势在于,它可以自定义输出的分面的行与列数。

易错点

  1. 对于color, shape 等不连续的变量区分参数,不适于映射连续变量。(其一无法体现连续变量的变化趋势,其二这些不连续的参数其数量有限,无法有效区分连续变量)对于连续变量可以选择size, alpha等。

练习题

6-1

代码语言:javascript
复制
#练习6-1
# 示例数据:ggplot2中数据集mpg
# 1.分别以mpg的displ和hwy两列作为横纵坐标,画点图。
ggplot(mpg) + 
  geom_point(aes(displ,hwy))
# 2.尝试修改颜色或大小,从mpg数据框中任选可以用来分类的列。
ggplot(mpg) + 
  geom_point(aes(displ,hwy,color=drv))
# 3.根据class列来分面
ggplot(mpg) + 
  geom_point(aes(displ,hwy,color=drv)) +
  facet_grid(class ~ .)
# 4.根据drv和cyl两个变量来分面
ggplot(mpg) + 
  geom_point(aes(displ,hwy,color=drv)) +
  facet_grid(drv ~ cyl)
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-11-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 北野茶缸子 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 开篇语
  • 开始前
  • ggplot2
    • 简单模版
      • ggplot 的学习路径
        • data 数据
          • aes 及映射
            • 手动设置与映射
            • shape
          • facet 分面
            • facetgrid()
            • facet_warp()
            • warp与grid 的区别
        • 易错点
        • 练习题
          • 6-1
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档