如何解决在R中使用多面换行来格式化500多个图的最佳方法? [包含图片和代码]
我正试图显示890个供应商的每周(x轴)销售额(y轴)。我想使用多面包装显示此数据,以快速查看供应商的销售量激增的地方。我的RStudio控制台中的图看起来像这样。这是有道理的,因为在此处渲染图并不是最好的视图,但是,即使需要多页PDF,我如何才能将图正确格式化为PDF。情节代码
ggplot(Holiday_Spike_Table,aes(x = FSCL_WK,y = SLS))+
geom_col()+
facet_wrap(~MVNDR_NM)
解决方法
这里是制作多张页面的方法-每个页面都有5x5的供应商。
我将与890个供应商一起使用一些虚拟数据。
library("tidyverse")
df <- data.frame(
vendor = rep(seq_len(890),each = 30),x = rep.int(seq_len(30),890),y = runif(890 * 30),group = (rep(seq_len(890),each = 30) - 1) %/% 25
)
分成25个吠叫组。每个情节都有一个5x5的构面。
plots <-
df %>%
group_by(group) %>%
group_map(function(g,...) ggplot(g,aes(x,y)) + geom_line() + facet_wrap(~vendor,ncol = 5))
保存,以便每个图都有自己的页面。
ggsave("plots.pdf",gridExtra::marrangeGrob(plots,nrow = 1,ncol = 1))
,
为什么不将所有图单独插入一个pdf文件中,而完全摆脱facet_wrap。
可复制的示例:
if i > 0:
dataset.to_csv('file_name.csv',index=False,mode='a',header=False)
else:
dataset.to_csv('file_name.csv',header=True)
以下给出与您相似的情节
library(ggplot2)
library(stringi)
## generate dummy data
df <- data.frame(x=sample(1:10000,1000,replace=TRUE),y=sample(1:100000,replace=TRUE))
df$id <- stri_rand_strings(n = nrow(df)/10,length = 4,pattern = "[A-Za-z0-9]")
完全摆脱facet_wrap并将图块刷新为单个pdf
ggplot(data = df,aes(x=x,y=y)) + geom_point() + geom_smooth() + facet_wrap(~id)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。