问题描述
我正试图显示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)