From 470f3f15943122f48920bc2620b254b93f4697db Mon Sep 17 00:00:00 2001 From: Samer Mouksassi Date: Mon, 18 Sep 2023 10:34:04 +0300 Subject: [PATCH] prepare to release fix pending CRAN notes refresh docs --- Figure_8_4.png | Bin 11309 -> 0 bytes NAMESPACE | 1 + NEWS.md | 4 ++-- R/forest_plot.R | 13 +++++++------ coveffectsplot_full.png | Bin 18101 -> 0 bytes man/forest_plot.Rd | 4 ++-- 6 files changed, 12 insertions(+), 10 deletions(-) delete mode 100644 Figure_8_4.png delete mode 100644 coveffectsplot_full.png diff --git a/Figure_8_4.png b/Figure_8_4.png deleted file mode 100644 index c9dddaeeaf4d5fb9ee161a1ff1e36f54a99081f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11309 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 bdKhxlc=0j2_MzPAXTKV%x~MW`>&O2CF9j_Z diff --git a/NAMESPACE b/NAMESPACE index 9a7ed4f..ca22cf3 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -7,3 +7,4 @@ export(forest_plot) export(get_sample_data) export(run_interactiveforestplot) import(data.table, except = c(last,between,first)) +importFrom(colourpicker,colourInput) diff --git a/NEWS.md b/NEWS.md index 94e4c48..7ea72a1 100644 --- a/NEWS.md +++ b/NEWS.md @@ -6,8 +6,8 @@ * added and exported `expand_modelframe` function * added the possibility to select the shapes manually via `interval_shape` and `bsv_shape` * added capability for user to reverse color legend separately via `legend_color_reverse` -* added capability for user to specify text for legend titles via `interval_legend_title` and `shape_legend_title` as well as to control text size via `legend_title_size` -* added capability for user to specify facet text color via `x_facet_text_col` and `y_facet_text_col` +* added capability for user to specify text for legend titles via `interval_legend_title` and `shape_legend_title` as well as to control legend title text size via `legend_title_size` +* added capability for user to specify facet text color via `x_facet_text_col` and `y_facet_text_col` for improved theming support * added possibility to add different ref line(s)/area(s) by parameter via `ref_value_by_panel` and `ref_value_by_panel_data` function arguments (not in the shiny, app) diff --git a/R/forest_plot.R b/R/forest_plot.R index 3234caf..7cebe90 100644 --- a/R/forest_plot.R +++ b/R/forest_plot.R @@ -1,3 +1,6 @@ +#' @importFrom colourpicker colourInput +# ' @importFrom ggplot2 translate_shape_string not yet + # Same as base R `which()` function, but return 0 instead of an empty vector # if there are no TRUE values in the array which0 <- function(x) { @@ -290,7 +293,7 @@ label_wrap <- function(width) { #' ref_value_by_panel_data = as.data.frame( #' plotdata %>% #' distinct(paramname2,covname) %>% -#' mutate(xintercept=ifelse(paramname2=="CMAX",1,1.2)))) +#' dplyr::mutate(xintercept=ifelse(paramname2=="CMAX",1,1.2)))) #' #' # Example 3 #' @@ -314,7 +317,7 @@ label_wrap <- function(width) { #' # Example 4 #' plotdata <- get_sample_data("dataforest.csv") #' plotdata <- plotdata %>% -#' mutate(midlabel = format(round(mid,2), nsmall = 2), +#' dplyr::mutate(midlabel = format(round(mid,2), nsmall = 2), #' lowerlabel = format(round(lower,2), nsmall = 2), #' upperlabel = format(round(upper,2), nsmall = 2), #' LABEL = paste0(midlabel, " [", lowerlabel, "-", upperlabel, "]")) @@ -684,8 +687,8 @@ forest_plot <- function( inherit.aes = FALSE, )+ ggplot2::geom_ribbon( - data = ref_value_by_panel_data %>% - mutate(x= xintercept, + data = cbind(as.data.frame(ref_value_by_panel_data), + x = ref_value_by_panel_data$xintercept, ymax = Inf, ymin = -Inf, fill = area_legend_text), @@ -1240,5 +1243,3 @@ draw_key_pointrangeh <- function(data, params, size) { ) } -# ' @importFrom colourpicker colourInput -# ' @importFrom ggplot2 translate_shape_string \ No newline at end of file diff --git a/coveffectsplot_full.png b/coveffectsplot_full.png deleted file mode 100644 index 3cc158ed92d990eadb744a5900b8b824e2a51c72..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18101 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 f1EmbPxfdhY;TacMhY$R$2uN98L$2(F#k>Cjna\% distinct(paramname2,covname) \%>\% - mutate(xintercept=ifelse(paramname2=="CMAX",1,1.2)))) + dplyr::mutate(xintercept=ifelse(paramname2=="CMAX",1,1.2)))) # Example 3 @@ -466,7 +466,7 @@ forest_plot(plotdata, # Example 4 plotdata <- get_sample_data("dataforest.csv") plotdata <- plotdata \%>\% - mutate(midlabel = format(round(mid,2), nsmall = 2), + dplyr::mutate(midlabel = format(round(mid,2), nsmall = 2), lowerlabel = format(round(lower,2), nsmall = 2), upperlabel = format(round(upper,2), nsmall = 2), LABEL = paste0(midlabel, " [", lowerlabel, "-", upperlabel, "]"))