Browse Source

Switch to annotation segment for lm line

Bryan Roessler 6 months ago
parent
commit
5a819bfa88
1 changed files with 10 additions and 4 deletions
  1. 10 4
      qhtcp-workflow/apps/r/calculate_interaction_zscores.R

+ 10 - 4
qhtcp-workflow/apps/r/calculate_interaction_zscores.R

@@ -779,13 +779,17 @@ generate_scatter_plot <- function(plot, config) {
   # Add linear regression line if specified
   if (!is.null(config$lm_line)) {
     plot <- plot +
-      geom_abline(
-        intercept = config$lm_line$intercept,
-        slope = config$lm_line$slope,
+      annotate(
+        "segment",
+        x = config$lm_line$x_min,
+        xend = config$lm_line$x_max,
+        y = config$lm_line$intercept + config$lm_line$slope * config$lm_line$x_min,  # Calculate y for x_min
+        yend = config$lm_line$intercept + config$lm_line$slope * config$lm_line$x_max, # Calculate y for x_max
         color = ifelse(!is.null(config$lm_line$color), config$lm_line$color, "blue"),
         linewidth = ifelse(!is.null(config$lm_line$linewidth), config$lm_line$linewidth, 1)
       )
   }
+
   
   # Add SD Bands if specified
   if (!is.null(config$sd_band)) {
@@ -1072,7 +1076,9 @@ generate_interaction_plot_configs <- function(df_summary, df_interaction, type)
           intercept = lm_intercept_value,
           slope = lm_slope_value,
           color = "blue",
-          linewidth = 1
+          linewidth = 0.8,
+          x_min = min(as.numeric(group_data$conc_num_factor_factor)),
+          x_max = max(as.numeric(group_data$conc_num_factor_factor))
         )
       )
       delta_plot_configs <- append(delta_plot_configs, list(plot_config))