从长格式数据的一个数据框中,下面的第一个绘图调用给出了这个joyplots矩阵:在13个场景中,每个场景都有一个山脊线和颜色比例。
然而,当我尝试每页只显示一个情节时,在循环播放的SingleScenario'下面的绘图调用,针对每个场景min和max的单个数据子集进行缩放(每个绘图具有完整的黄色到紫色色标,并且我不确定脊高度标度是保留还是重置)。
如何将单个场景绘制为单个页面并保持原始缩放?通过这种方式,可以通过翻阅13页的pdf来显示差异。
library(ggplot2)
library(viridis)
matrix <- ggplot(df, aes(watermonth, as.integer(wateryear), height = inflow, group=as.integer(wateryear)
, fill=cumWYinf)) + geom_ridgeline(stat = "identity",
show.legend = F, scale = 0.005, alpha = 0.8) + facet_wrap(~scenario, nr=4, nc=4) +
scale_fill_viridis()
scenarios <- c("q0", "e1", "e2", "e3", "e4", "e5", "cwc30", "l1", "l2", "l3", "l4", "l5", "cwc70")
for(i in 1:length(scenarios)) {
facets <- c(paste0(scenarios[i]))
SingleScenario <- ggplot(df[df$scenario %in% facets,], aes(watermonth, as.integer(wateryear),
height = inflow, group=as.integer(wateryear), fill = cumWYinf)) +
geom_ridgeline(stat = "identity", show.legend = F, scale = 0.005, alpha = 0.9) +
+ facet_wrap(~scenario, nr=1, nc=1) + scale_fill_viridis()
SingleScenario
ggsave(paste(scenarios[i],".pdf"), dpi = 300, width = 17, height = 11, units = "in") }
谢谢。
date watermonth wateryear inflow scenario SacWYT SJRWYT cumWYinf
<date> <dbl> <dbl> <dbl> <chr> <int> <int> <dbl>
1 1921-10-31 1 1922 66.38 q0 2 2 2293.78
2 1921-11-30 2 1922 50.65 q0 2 2 2293.78
3 1921-12-31 3 1922 82.09 q0 2 2 2293.78
答案 0 :(得分:1)
如果没有示例数据集来测试我的预测,很难回答,但您可以尝试使用limits = ...
调整填充:
scale_fill_viridis(limits = range(df$cumWYinf))
这样,所有绘图都具有相同的比例。