R_ggplot2基础(一)

本文详细介绍了R语言ggplot2包的基础概念和语法框架,包括ggplot2的特点、基本概念如数据和映射,以及核心的几何对象、统计变换、位置调整参数。重点讨论了美学参数如颜色、线型、点型、字体和位置微调,并展示了如何通过position_dodge()、position_stack()等调整图形元素的位置。此外,文章还提到了ggplot2的扩展包和各种几何对象的使用方法。
摘要由CSDN通过智能技术生成

感谢关注天善智能,走好数据之路↑↑↑

欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域的垂直社区,学习,问答、求职一站式搞定!

对商业智能BI、大数据分析挖掘、机器学习,python,R等数据领域感兴趣的同学加微信:tstoutiao,邀请你进入数据爱好者交流群,数据爱好者们都在这儿。

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

往期精彩: 

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

R_circlize包_和弦图(一)

R_circlize包_和弦图(二)

1 ggplot2特点

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

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

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

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

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

2 ggplot2基本概念

Data数据, Mapping映射

Scale标度

Geometric几何对象

Statistics统计变换

Coordinate坐标系统

Layer图层

Facet分面

Legend图例

beautiful美化

3 ggplot2语法框架

3901436-c246fb2ac6ba689c

绘图流程:

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列不能使用调整图例。

geom_xxx()几何对象

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

几何对象函数描述其它geom_point点图geom_point(position = "jitter") == geom_jitter() 避免重叠geom_line折线图可以通过smooth参数平滑处理geom_bar柱形图x轴是离散变量geom_area面积图
geom_histogram直方图x轴数据是连续的geom_boxplot箱线图
geom_rect二维长方形图
geom_segment线段图
geom_path几何路径由一组点按顺序连接geom_curve曲线
geom_abline斜线有斜率和截距指定geom_hline水平线常用于坐标轴绘制geom_vline竖线常用于坐标轴绘制geom_text文本

ggplot2唯一不支持的常规平面图形是雷达图

其它几何对象查询:
ggplot2 part of the tidyverse
ggplot2 Quick Reference: geom
也可以用

ls(pattern = '^geom_', env = as.environment('package:ggplot2')) 查询,但是没有图形示例

library(ggplot2)ls(pattern = "^geom_", env = as.environment("package:ggplot2"))

柱形图和散点图是关键,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值