Move annotations to global scope
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -2,4 +2,6 @@
|
|||||||
centos-upgrade-plan.txt
|
centos-upgrade-plan.txt
|
||||||
qhtcp-workflow/out/
|
qhtcp-workflow/out/
|
||||||
qhtcp-workflow/scans/
|
qhtcp-workflow/scans/
|
||||||
|
qhctp-workflow/oom
|
||||||
last.dump.rda
|
last.dump.rda
|
||||||
|
|
||||||
|
|||||||
@@ -554,6 +554,23 @@ generate_and_save_plots <- function(out_dir, filename, plot_configs) {
|
|||||||
if (!is.null(config$y_label)) plot <- plot + ylab(config$y_label)
|
if (!is.null(config$y_label)) plot <- plot + ylab(config$y_label)
|
||||||
if (!is.null(config$coord_cartesian)) plot <- plot + coord_cartesian(ylim = config$coord_cartesian)
|
if (!is.null(config$coord_cartesian)) plot <- plot + coord_cartesian(ylim = config$coord_cartesian)
|
||||||
|
|
||||||
|
# Add annotations if specified
|
||||||
|
if (!is.null(config$annotations)) {
|
||||||
|
for (annotation in config$annotations) {
|
||||||
|
plot <- plot +
|
||||||
|
annotate(
|
||||||
|
"text",
|
||||||
|
x = ifelse(is.null(annotation$x), 0, annotation$x),
|
||||||
|
y = ifelse(is.null(annotation$y), Inf, annotation$y),
|
||||||
|
label = annotation$label,
|
||||||
|
hjust = ifelse(is.null(annotation$hjust), 0.5, annotation$hjust),
|
||||||
|
vjust = ifelse(is.null(annotation$vjust), 1, annotation$vjust),
|
||||||
|
size = ifelse(is.null(annotation$size), 3, annotation$size),
|
||||||
|
color = ifelse(is.null(annotation$color), "black", annotation$color)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
# Add error bars if specified
|
# Add error bars if specified
|
||||||
if (!is.null(config$error_bar) && config$error_bar) {
|
if (!is.null(config$error_bar) && config$error_bar) {
|
||||||
# Check if a fixed color is provided or if it should come from a data column
|
# Check if a fixed color is provided or if it should come from a data column
|
||||||
@@ -567,19 +584,15 @@ generate_and_save_plots <- function(out_dir, filename, plot_configs) {
|
|||||||
ymin = config$error_bar_params$ymin,
|
ymin = config$error_bar_params$ymin,
|
||||||
ymax = config$error_bar_params$ymax
|
ymax = config$error_bar_params$ymax
|
||||||
)
|
)
|
||||||
# Apply fixed color if specified
|
|
||||||
if (!is.null(error_bar_color)) {
|
|
||||||
plot <- plot + scale_color_manual(values = error_bar_color)
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
# If config$color_var exists, map the color aesthetic
|
# Map color_var to data if available
|
||||||
if (!is.null(config$color_var)) {
|
if (!is.null(config$color_var)) {
|
||||||
plot <- plot + geom_errorbar(
|
plot <- plot + geom_errorbar(
|
||||||
aes(
|
aes(
|
||||||
x = .data[[config$x_var]],
|
x = .data[[config$x_var]],
|
||||||
ymin = .data[[config$error_bar_params$ymin]],
|
ymin = .data[[config$error_bar_params$ymin]],
|
||||||
ymax = .data[[config$error_bar_params$ymax]],
|
ymax = .data[[config$error_bar_params$ymax]],
|
||||||
color = .data[[config$color_var]] # Map color_var to data
|
color = .data[[config$color_var]]
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
@@ -593,19 +606,18 @@ generate_and_save_plots <- function(out_dir, filename, plot_configs) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
# Ensure the mean and sd columns exist
|
# Use mean and SD columns from df
|
||||||
y_mean_col <- paste0("mean_", config$y_var)
|
y_mean_col <- paste0("mean_", config$y_var)
|
||||||
y_sd_col <- paste0("sd_", config$y_var)
|
y_sd_col <- paste0("sd_", config$y_var)
|
||||||
|
|
||||||
if (y_mean_col %in% colnames(df) && y_sd_col %in% colnames(df)) {
|
if (y_mean_col %in% colnames(df) && y_sd_col %in% colnames(df)) {
|
||||||
# If config$color_var exists, map the color aesthetic
|
|
||||||
if (!is.null(config$color_var)) {
|
if (!is.null(config$color_var)) {
|
||||||
plot <- plot + geom_errorbar(
|
plot <- plot + geom_errorbar(
|
||||||
aes(
|
aes(
|
||||||
x = .data[[config$x_var]],
|
x = .data[[config$x_var]],
|
||||||
ymin = .data[[y_mean_col]] - .data[[y_sd_col]],
|
ymin = .data[[y_mean_col]] - .data[[y_sd_col]],
|
||||||
ymax = .data[[y_mean_col]] + .data[[y_sd_col]],
|
ymax = .data[[y_mean_col]] + .data[[y_sd_col]],
|
||||||
color = .data[[config$color_var]] # Color based on aes()
|
color = .data[[config$color_var]]
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
@@ -617,10 +629,6 @@ generate_and_save_plots <- function(out_dir, filename, plot_configs) {
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
# Apply fixed color if specified
|
|
||||||
if (!is.null(error_bar_color)) {
|
|
||||||
plot <- plot + scale_color_manual(values = error_bar_color)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -773,23 +781,6 @@ generate_scatter_plot <- function(plot, config) {
|
|||||||
plot <- plot + scale_y_continuous(limits = config$ylim_vals)
|
plot <- plot + scale_y_continuous(limits = config$ylim_vals)
|
||||||
}
|
}
|
||||||
|
|
||||||
# Add annotations if specified
|
|
||||||
if (!is.null(config$annotations)) {
|
|
||||||
for (annotation in config$annotations) {
|
|
||||||
plot <- plot +
|
|
||||||
annotate(
|
|
||||||
"text",
|
|
||||||
x = ifelse(is.null(annotation$x), 0, annotation$x),
|
|
||||||
y = ifelse(is.null(annotation$y), 0, annotation$y),
|
|
||||||
label = annotation$label,
|
|
||||||
hjust = ifelse(is.null(annotation$hjust), 0.5, annotation$hjust),
|
|
||||||
vjust = ifelse(is.null(annotation$vjust), 0.5, annotation$vjust),
|
|
||||||
size = ifelse(is.null(annotation$size), 3, annotation$size),
|
|
||||||
color = ifelse(is.null(annotation$color), "black", annotation$color)
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return(plot)
|
return(plot)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -901,9 +892,9 @@ generate_interaction_plot_configs <- function(df, type) {
|
|||||||
plot_config$position <- "jitter"
|
plot_config$position <- "jitter"
|
||||||
|
|
||||||
annotations <- list(
|
annotations <- list(
|
||||||
list(x = 0.25, y = y_limits[1] + 0.1 * y_span, label = " NG ="), # Slightly above y-min
|
list(x = 0.25, y = y_limits[1] + 0.1 * y_span, label = " NG ="), # Slightly above y-min
|
||||||
list(x = 0.25, y = y_limits[1] + 0.05 * y_span, label = " DB ="),
|
list(x = 0.25, y = y_limits[1] + 0.05 * y_span, label = " DB ="),
|
||||||
list(x = 0.25, y = y_limits[1], label = " SM =")
|
list(x = 0.25, y = y_limits[1], label = " SM =")
|
||||||
)
|
)
|
||||||
|
|
||||||
# Loop over unique x values and add NG, DB, SM values at calculated y positions
|
# Loop over unique x values and add NG, DB, SM values at calculated y positions
|
||||||
|
|||||||
Reference in New Issue
Block a user