欢迎光临散文网 会员登陆 & 注册

ggplot2由浅入深——坐标轴精雕细琢

2023-06-26 15:49 作者:五柳冰冰  | 我要投稿

1.引言

R中的ggplot2是非常优秀的绘图工具,其绘制的图形精美,可以达到专业出版物的水平,基于ggplot2的扩展包也不胜枚举,极大的促进了ggplot2的广泛应用。

ggplot2提供了多样化的修改坐标轴的参数,可以自定义坐标轴的刻度、标签、刻度标签等。本文通过财经数据库获取LPR数据,并使用ggplot绘制图表。

2.获取数据

结果如下

3.清洗数据

这里用select函数挑选所需的列,使用filter函数筛选日期在2021-01-01之后的行,使用gather函数将“宽表格”转换为ggplot所需的“窄表格,并重命名列名称。

4.绘图

ggplot的语法可以概况为“+”,即把各种对图形的设计,写在函数里,然后“+”起来,写在前面的,放在图形最下层,写在后面的,放在最上层。

在ggplot()函数中,必须要有两个参数,data指明对哪个数据表绘图,mapping指明将那一列映射到X轴,那一列映射到Y轴。(color参数可选,指明按照那列的类别来分别标记颜色)

geom_line()+  geom_point()  这两个函数指明需要绘制线型图然后再绘制点图,故为点线叠加图。

绘图结果

5.精雕细琢

scale_x_date函数修改坐标轴刻度,这里把刻度修改为  ”1月“;

theme函数可以修个各种图形的修饰,这里把x轴标签颜色修改为黑色,旋转-90度;

ggtitle 函数设定图表的主标题;

labs函数修改坐标轴的标签;

使用 ggrepel中的geom_text_repel函数来给数据点添加数字标签,需要指定数据来源(哪个表、哪一列);

6.提升

初学者对ggplot的具体函数了解不深,难以细致的修饰图形,ggthemeassist包提供了手动解决方案。选中ggplot代码,点击Addins(Rstudio中),即可弹出手动编辑框,像操作Excel绘图一样通过鼠标来修订图形。修订完成后,Rstudio会自动把鼠标的操作转换为代码“+”到ggplot绘图代码的后面,以便循环利用。

初学者也可以使用这种方法,学习ggplot的图形控制函数和参数。


当然,如果上面的操作显得眼花缭乱,还有一种更简单的方法使用ggplot。esquisse包提供了“傻瓜式”的使用ggplot的方法,可以通过工作环境、其他来源的文档、网络文档等导入数据,使用鼠标拖动列名称来绘图。同时“录制”ggplot代码,极大的方便了初学者的学习和使用。


7.总结

本文通过一个绘图示例,介绍了ggplot绘图的细节,本文还介绍了其他两个实用的ggplot助手ggthemeassist和esquisse。

ggplot2由浅入深——坐标轴精雕细琢的评论 (共 条)

分享到微博请遵守国家法律