R语言ggplot2按资源分组绘制折线图并导出为单个PDF
R语言批量生成资源价格折线图并导出为单个PDF实现方案
- 依赖包:提前安装并加载
tidyverse(整合了ggplot2绘图、dplyr数据处理的功能包)
核心实现逻辑
沿用已验证的黄金资源单图绘图规则,先按资源类型拆分数据集批量生成所有图表,再通过R原生的PDF绘图设备将所有图表逐页写入同一个PDF文件,不需要额外安装复杂拼版工具。
完整实现代码
# 加载依赖包 library(tidyverse) # 提取数据集中所有不重复的资源类型 all_resources <- unique(example_data$resource) # 创建空列表存储生成的所有图表 plot_storage <- list() # 循环遍历每个资源,按单图规则生成折线图 for (res in all_resources) { p <- ggplot( data = example_data %>% filter(resource == res), mapping = aes(x = year, y = log(wb_price_mult), color = standardmeasure) ) + geom_line() + labs(title = res) # 标题自动匹配当前资源名称 # 将生成的图表存入列表 plot_storage[[res]] <- p } # 打开PDF输出通道,设置输出文件名、单页尺寸,宽高可按需调整 pdf("不同资源历年价格折线图汇总.pdf", width = 9, height = 5.5) # 逐页打印所有存储的图表,每个资源对应独立一页 lapply(plot_storage, print) # 关闭输出通道,完成PDF文件写入 dev.off()
补充提示:如果要调整图表样式(比如修改坐标轴标签、调整配色、更换主题、调整线宽),直接在循环内的
ggplot代码块后面叠加对应图层即可,和调整单张黄金资源图的写法完全一致。
内容的提问来源于stack exchange,提问作者Anton
相关产品推荐
相关产品推荐

