前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R中的循环绘图

R中的循环绘图

作者头像
R语言数据分析指南
发布2022-09-21 14:34:10
4K0
发布2022-09-21 14:34:10
举报
文章被收录于专栏:R语言数据分析指南

❝本节来介绍在 R中如何使用ggplot2结合for循环绘图并保存,下面通过一个案例来看具体操作 ❞

加载R包

代码语言:javascript
复制
library(tidyverse)
library(data.table)
library(gridExtra)
library(patchwork)

设置文件路径

代码语言:javascript
复制
file_name <- "loop_data.tsv"

读入数据

代码语言:javascript
复制
dat <- fread(file_name, sep="\t")
获取唯一的城市名称进行循环
代码语言:javascript
复制
cities = unique(dat$city)
创建一个空列表来保存创建的图
代码语言:javascript
复制
city_plots = list()

循环遍历并绘图保存

代码语言:javascript
复制
for(city_ in cities) {
  city_plots[[city_]] <-  ggplot(dat %>% filter(city == city_),aes(x=zone, y=`multistorey buildings`)) + 
    geom_bar(stat="identity",width=0.5) + 
    theme(axis.text.x = element_text(angle=0)) + 
    ggtitle(city_) + 
    labs(y=NULL,x=NULL)+
    theme(plot.title=element_text(size=15,face="bold",hjust=0.5),
          axis.title.x=element_text(size=10,face="bold"),
          axis.title.y=element_text(size=10,face="bold"))
  
  print(city_plots[[city_]])
  ggsave(city_plots[[city_]],file=paste0("plot_",city_,".pdf"), width =3.04, height =3.10, units = "in", dpi=300)
}

上面我们将每一张图都单独输出了,下面来介绍如何将其全部组合起来,分别介绍两种R包的方法gridExtra&patchwork

代码语言:javascript
复制
grid.arrange(grobs=city_plots,ncol=3)
代码语言:javascript
复制
patchwork::wrap_plots(city_plots,nrow=2)
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-05-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 R语言数据分析指南 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 加载R包
  • 设置文件路径
  • 读入数据
    • 获取唯一的城市名称进行循环
      • 创建一个空列表来保存创建的图
      • 循环遍历并绘图保存
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档