55-R可视化-4-ggplot2基石三部曲之基础一
2023-04-18 15:01:34 时间
开篇语
这一个部分一共三篇,学会了基本上你的ggplot 就达到ggplot 界小学二年级的水平了吧~
开始前
主要为ggplot2 中的前三个部分的内容。
ggplot2
可视化使得数据科学从业者更好地分析并解释数据 常用的ggplot 模版
ggplot2 的图形可以按照七种参数来对其进行调整
简单模版
ggplot(data = ) +
<geom_function>(mapping = aex())
ggplot 的学习路径
image.png
data 数据
image.png
aes 及映射
image.png
group #分组
labels #标记
关于aes 相关参数可以直接为这些参数赋值为相关的变量,通过映射的方式,按照函数默认方式为它们赋值。
ggplot(data = test)+
geom_point(mapping = aes(x = Sepal.Length,
y = Petal.Length,
color = Species))
如果想要将以上的参数赋值为手动定义的内容,则需要将其抽出aes 函数内。
ggplot(data = test)+
geom_point(mapping = aes(x = Sepal.Length,
y = Petal.Length),
color = "red")
手动设置与映射
映射要有“领导思维”,直接将变量给对应的参数;手动设置则“精准定位”,该是什么就给参数设定什么。
shape
具体的shape 有25个值。
facet 分面
facetgrid()
image.png
ggplot(mpg) +
geom_point(aes(displ,hwy,color=drv)) +
facet_grid(drv ~ cyl)
image.png
facet_warp()
facet_grid 对多图形的分面显示不是特别友好,而facet_warp() 则可以设定分面行与列的数目。
对比一下
ggplot(mpg) +
geom_point(aes(displ,hwy,color=drv)) +
facet_grid(class~.)
image.png
ggplot(mpg) +
geom_point(aes(displ,hwy,color=drv)) +
facet_wrap(~class, ncol = 3)
warp与grid 的区别
warp 只能对一种变量进行分类(一个维度),因此如果对其使用两个变量,则其会罗列在一个维度。
但其相比grid 的优势在于,它可以自定义输出的分面的行与列数。
易错点
- 对于color, shape 等不连续的变量区分参数,不适于映射连续变量。(其一无法体现连续变量的变化趋势,其二这些不连续的参数其数量有限,无法有效区分连续变量)对于连续变量可以选择size, alpha等。
练习题
6-1
#练习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)
相关文章
- 【技术种草】cdn+轻量服务器+hugo=让博客“云原生”一下
- CLB运维&运营最佳实践 ---访问日志大洞察
- vnc方式登陆服务器
- 轻松学排序算法:眼睛直观感受几种常用排序算法
- 十二个经典的大数据项目
- 为什么使用 CDN 内容分发网络?
- 大数据——大数据默认端口号列表
- Weld 1.1.5.Final,JSR-299 的框架
- JavaFX 2012:彻底开源
- 提升as3程序性能的十大要点
- 通过凸面几何学进行独立于边际的在线多类学习
- 利用行动影响的规律性和部分已知的模型进行离线强化学习
- ModelLight:基于模型的交通信号控制的元强化学习
- 浅谈Visual Source Safe项目分支
- 基于先验知识的递归卡尔曼滤波的代理人联合状态和输入估计
- 结合网络结构和非线性恢复来提高声誉评估的性能
- 最佳实践丨云开发CloudBase多环境管理实践
- TimeVAE:用于生成多变量时间序列的变异自动编码器
- 具有线性阈值激活的神经网络:结构和算法
- 内网渗透之横向移动 -- 从域外向域内进行密码喷洒攻击