R_ggplot2基础(一)

本文是关于R语言ggplot2包的基础教程,介绍了ggplot2的特点、基本概念和语法框架,包括数据映射、几何对象、统计变换和位置调整等核心概念。详细讲解了颜色、线型、点型、字体和位置微调等美学参数的使用,并提供了相关实例。
摘要由CSDN通过智能技术生成

640?wx_fmt=gif


作者:李誉辉  四川大学在读研究生 


往期精彩: 

R_插值_拟合_回归_样条

R_circlize包_和弦图(一)

R_circlize包_和弦图(二)



1 ggplot2特点

  • 采用图层的设计方式,有利于结构化思维

  • 将表征数据和图形细节分开,能快速将图形表现出来,使创造性绘图更加容易,而不必纠结于图形的细节,细节可以后期慢慢调整

  • 将常见的统计变换融入到了绘图中

  • 有明确的起始(ggplot开始)与终止(一句话一个图层),图层之间的叠加是靠“+”实现的,越往后,其图层越在上方

  • 图形美观,扩展包丰富,有专门调整字体和公式的包,有专门调整颜色的包,还有专门用按钮辅助调整主题的包,总之,应有尽有

2 ggplot2基本概念

  • Data数据, Mapping映射

  • Scale标度

  • Geometric几何对象

  • Statistics统计变换

  • Coordinate坐标系统

  • Layer图层

  • Facet分面

  • Legend图例

  • beautiful美化

3 ggplot2语法框架

640?wx_fmt=jpeg

绘图流程:

ggplot(data, aes(x = , y = )) +   # 基础图层,不出现任何图形元素,
  geom_xxx()|stat_xxx() +  # 几何图层或统计变换,出现图形元素  
  coord_xxx() +  # 坐标变换,默认笛卡尔坐标系     
  scale_xxx() + # 标度调整,调整具体的标度  
  facet_xxx() + # 分面,将其中一个变量进行分面变换  
  guides() + # 图例调整
  theme() # 主题系统  

3.1 共性映射与个性映射

  • ggplot(data = NULL, mapping = aes())

  • geom_xxx(data = NULL, mapping = aes())

  • ggplot()内有data、mapping两个参数
    具有全局优先级,可以被之后的所有
    geom_xxx对象或stat_xxx()所继承(前提是geomstat未指定相关参数)

  • geom_xxx()stat_xxx()内的参数属于局部参数,仅仅作用于内部

  • 为了避免混乱,通常将共性映射的参数指定在ggplot(aes())aes内部,将个性映射的参数指定在geom_xxx(aes())stat_xxx(aes())内部

3.2 几何对象与统计变换

  • 几何对象geom_xxx(stat = ) 内有统计变换参数stat,统计变换stat_xxx(geom = )内也有几何对象参数geom

  • 两种方法结果相同,几何对象更专注于结果,统计变换更专注于变换过程

library(ggplot2)
# 用几何对象作图
ggplot(data = NULL, mapping = aes(x = x, y = y)) + geom_point(color = "darked", 
    stat = "identity")  # identity 表示没有任何统计变换
# 用统计变换作图
ggplot(data = NULL, mapping = aes(x = x, y = y)) + stat_identity(color = "darked", 
    geom = "point")  # geom_point(stat = 'identity')与stat_identity(geom = 'point')结果一样

3.3 aes与data参数

  • aes参数用来指定要映射的变量,可以是多个变量,

  • data参数表示指定数据源,必须是data.frame格式,其坐标轴变量最好宽转长,只能指定一个x轴和y轴,多个x列或y列不能使用调整图例。

4 geom_xxx()几何对象

常用的几种几何对象函数:

几何对象函数 描述 其它
geom_point 点图 geom_point(position = "jitter") == geom_jitter() 避免重叠
geom_line 折线图
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值