R/plot_recognition.R

Defines functions plot_recognition

Documented in plot_recognition

#' @title Plot recognition curve
#'
#' @description Function to plot recognition curve
#' @param df_postprob_freq postprob frequency data frame (from build_df_postprobfreq function)
#' @param seuils threshold for classes, by default jct1
#' @param seuilreco threshold for recognition rate
#' @param limites plot limits, default from 1E-7 to 1
#' @param couleurs colors, default colors are for the 7 jtc1 classes
#' @aliases seuilsJtc1
#'
#' @return a ggplot object
#' @import ggplot2
#' @importFrom scales percent
#' @importFrom scales scientific
#' @export
#'


plot_recognition <- function(df_postprob_freq,
                             seuils = jtc1_threshold, seuilreco = 1E-3,
                             limites = c(1E-7,1), couleurs =  default_col){

  #Parameters
  reclassed_postprob <- add_hasard_classes(df_postprob_freq, seuils = seuils)
  mycols <- couleurs
  names(mycols) <- levels(seuils[,3])
  recoval <- recognition_rate(df_postprob_freq)

  # Plot
  recoplot <- ggplot() +
    geom_rect(data=seuils, aes(xmin = xstart, xmax = xend, ymin = -Inf, ymax = Inf, fill = proba), alpha = 0.5) +
    geom_line(data= reclassed_postprob, aes(POST_PROB, somme_prct)) +
    geom_text(data=seuils, aes(x=xstart, y=100, label= proba), hjust = 0, vjust=1) +
    scale_x_log10(limits=limites,
                  breaks=c(1E-7, 1E-6,1E-5,1E-4,1E-3,1E-2,1E-1,1),
                  name = "Probabilité spatiale de rupture") +
    scale_y_continuous(name = "Pourcentage cumulé de glissements", breaks = seq(0,100,by = 25), labels = percent(seq(0,1,by=0.25))) +
    annotation_logticks(sides = "b") +
    scale_fill_manual(values = mycols) +
    theme_light() +
    theme(legend.position = "none",
          panel.grid.minor.x = element_blank()) +
    geom_label(aes(1,0,label=paste("Taux de reconaissance =", recoval, "%")), hjust=1)

  return(recoplot)
}
MelodyPremaillon/valwoe documentation built on April 16, 2022, 12:46 a.m.