Commit 7bc064d0 authored by Heraut Louis's avatar Heraut Louis
Browse files

Plot modularity

parent d5b8c939
No related merge requests found
Showing with 96 additions and 39 deletions
+96 -39
......@@ -9,7 +9,7 @@ library(grid)
# Time panel
panel = function (df_data, df_meta, figdir, filedir_opt='', filename_opt='', variable='', df_trend=NULL, p_threshold=0.1, unit2day=365.25, type='', missRect=FALSE) {
panel = function (df_data, df_meta, layout_matrix, figdir='', filedir_opt='', filename_opt='', variable='', df_trend=NULL, p_threshold=0.1, unit2day=365.25, type='', missRect=FALSE, time_header=NULL, info_header=TRUE, header_ratio=2) {
if (all(class(df_data) != 'list')) {
df_data = list(df_data)
......@@ -47,12 +47,6 @@ panel = function (df_data, df_meta, figdir, filedir_opt='', filename_opt='', var
missRect = replicate(nbp, missRect)
}}
# print(df_data)
# print(df_trend)
# print(p_threshold)
# print(unit2day)
# print(missRect)
list_df2plot = vector(mode='list', length=nbp)
for (i in 1:nbp) {
......@@ -67,7 +61,6 @@ panel = function (df_data, df_meta, figdir, filedir_opt='', filename_opt='', var
list_df2plot[[i]] = df2plot
}
# print(list_df2plot)
outfile = "Panels"
if (filename_opt != '') {
......@@ -94,15 +87,23 @@ panel = function (df_data, df_meta, figdir, filedir_opt='', filename_opt='', var
# Print code of the station for the current plotting
print(paste("Plotting for sation :", code))
nbg = nbp+1
nbh = as.numeric(info_header) + as.numeric(!is.null(time_header))
nbg = nbp + nbh
P = vector(mode='list', length=nbg)
# P = as.list(rep(void, nbp))
# print(nbp)
# print(P)
gtext = text_panel(code, df_meta)
P[[1]] = gtext
if (info_header) {
Htext = text_panel(code, df_meta)
P[[1]] = Htext
}
if (!is.null(time_header)) {
Htime = time_panel(code, time_header, df_trend=NULL,
missRect=TRUE, unit2day=365.25,
type='time')
P[[2]] = Htime
}
for (i in 1:nbp) {
df_data = list_df2plot[[i]]$data
df_trend = list_df2plot[[i]]$trend
......@@ -114,18 +115,59 @@ panel = function (df_data, df_meta, figdir, filedir_opt='', filename_opt='', var
p = time_panel(code, df_data, df_trend, missRect,
p_threshold, unit2day, type)
P[[i+1]] = p
P[[i+nbh]] = p
}
layout_matrix_H = as.matrix(layout_matrix + nbh)
print(layout_matrix_H)
LM = c()
LMcol = ncol(layout_matrix_H)
LMrow = nrow(layout_matrix_H)
for (i in 1:(LMrow+nbh)) {
print(i)
if (i <= nbh) {
LM = rbind(LM, rep(i, times=LMcol))
} else {
LM = rbind(LM,
matrix(rep(layout_matrix_H[i-nbh,],
times=header_ratio),
ncol=LMcol, byrow=TRUE))
}
}
print(nbg)
print(LM)
plot = grid.arrange(grobs=P, layout_matrix=LM)
# plot = grid.arrange(gtext, P[[1]], P[[2]], P[[3]], P[[4]],
# heights=c(1/8, 1/8, 2/8, 2/8, 2/8),
# ncol=1, nrow=5)
# if (nbnh <= 4) {
# plot = grid.arrange(grobs=P,
# heights=c(rep(1/(nbnh*ratio + nbh),
# nbh),
# rep(ratio/(nbnh*ratio + nbh),
# nbnh)),
# ncol=1, nrow=nbg)
plot = grid.arrange(grobs=P,
heights=c(rep(1/((nbg-2)*2+2), 2),
rep(2/((nbg-2)*2+2), nbg-2)),
ncol=1, nrow=nbg)
# } else if (nbnh > 4) {
# P[[(length(P)+1):8]] = void
# plot = grid.arrange(grobs=P,
# heights=c(rep(1/((nbg-2)*2+2), 1),
# rep(2/((nbg-2)*2+2), nbg-2)),
# ncol=1, nrow=nbg)
# }
# } else if (nbg-2 <= 6 & nbg-2 > 3) {
#
# }
# Saving
ggsave(plot=plot,
......@@ -228,10 +270,11 @@ time_panel = function (code, df_data, df_trend, missRect, p_threshold, unit2day,
expand=c(0, 0))
}
# if
p = p +
theme(
panel.background=element_rect(fill="white"),
plot.margin=margin(0, 5, 0, 5, unit="mm"))
plot.margin=margin(0.25, 5, 0.25, 5, unit="mm"))
return(p)
}
......
......@@ -59,7 +59,7 @@ NVlistname =
### TREND ANALYSIS ###
# Time period to analyse
period = c("1960-01-01","2019-12-31")
period = c("1980-01-01","2019-12-31")
# period = c("1960-01-01","2020-01-01")
......@@ -72,11 +72,11 @@ period = c("1960-01-01","2019-12-31")
setwd(computer_work_path)
# Sourcing R file
source('processing/extractBH.R')
source('processing/extractNV.R')
source('processing/format.R')
source('processing/analyse.R')
source('plotting/panel.R')
source('processing/extractBH.R', encoding='latin1')
source('processing/extractNV.R', encoding='latin1')
source('processing/format.R', encoding='latin1')
source('processing/analyse.R', encoding='latin1')
source('plotting/panel.R', encoding='latin1')
# source('plotting/layout.R')
# Usefull library
......@@ -147,7 +147,7 @@ df_meta = df_join$meta
res_QAtrend = get_QAtrend(df_data, period)
# QMNA TREND #
res_QMNAtrend = get_QMNAtrend(df_data, period)
# res_QMNAtrend = get_QMNAtrend(df_data, period)
# VCN10 TREND #
res_VCN10trend = get_VCN10trend(df_data, df_meta, period)
......@@ -155,17 +155,31 @@ res_VCN10trend = get_VCN10trend(df_data, df_meta, period)
# TIME PANEL #
# Plot time panel of debit by stations
panel(list(df_data, res_QAtrend$data, res_QMNAtrend$data,
# panel(list(df_data, df_data),
# layout_matrix=c(1, 2),
# df_meta=df_meta,
# missRect=list(TRUE, TRUE),
# type=list('time', 'sqrt'),
# info_header=TRUE,
# time_header=NULL,
# header_ratio=3,
# figdir=figdir,
# filename_opt='time')
panel(list(res_QAtrend$data, res_QMNAtrend$data,
res_VCN10trend$data),
layout_matrix=matrix(c(1, 2, 3, 3), ncol=2, byrow=TRUE),
df_meta=df_meta,
figdir=figdir,
df_trend=list(NULL, res_QAtrend$trend, res_QMNAtrend$trend,
df_trend=list(res_QAtrend$trend, res_QMNAtrend$trend,
res_VCN10trend$trend),
type=list('time', '', '', ''),
missRect=list(TRUE, TRUE, TRUE, TRUE),
)
type=list('', '', ''),
missRect=list(TRUE, TRUE, TRUE),
info_header=TRUE,
time_header=df_data,
header_ratio=2,
figdir=figdir,
filename_opt='')
# panel(df_data, df_meta=df_meta, figdir=figdir, missRect=TRUE, type='sqrt')
### /!\ Removed 185 row(s) containing missing values (geom_path) -> remove NA ###
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment