-
Notifications
You must be signed in to change notification settings - Fork 43
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rescaling the y-axis with manual annotations? #74
Labels
Comments
Can you please provide a reproducible example here? |
For sure! Here are some data files and an R script that should generate the problem: https://gist.github.com/JCSzamosi/277edf5129d5cc0e16f91798adf66999 |
library(ggplot2)
library(ggsignif)
# data
mre_df <- structure(list(Sample = c(
"KS30", "KS44", "KS29", "KS76", "KS28",
"KS67", "KS69", "KS68", "KS27", "KS88", "KS50", "KS85", "KS82",
"KS70", "KS72", "KS74", "KS43", "KS84", "KS48", "KS83", "KS75",
"KS90", "KS49", "KS64", "KS101", "KS62", "KS71", "KS51", "KS66",
"KS100", "KS99", "KS87", "KS65", "KS97", "KS86", "KS98", "KS73",
"KS47", "KS52", "KS58", "KS56", "KS60", "KS54", "KS92", "KS81",
"KS59", "KS80", "KS33", "KS53", "KS94", "KS93", "KS61", "KS77",
"KS55", "KS89", "KS79", "KS46", "KS45", "KS63", "KS32", "KS78",
"KS31", "KS96", "KS95"
), Abundance = c(
0.000766902119071645,
0.000709849157054126, 0.000683469324040401, 0.000677752199773304,
0.000658978583196046, 0.000570559147965006, 0.000487420794120955,
0.000471289689716021, 0.00038038723420442, 0.000322798368400974,
0.000296925471706602, 0.000295097903069018, 0.000288453004348984,
0.000268111489694465, 0.000266260935717003, 0.000264279722851004,
0.00025071487620106, 0.000246285198259585, 0.000238574659553961,
0.000238120436024976, 0.000236781663627969, 0.000234660993085323,
0.000228277687124293, 0.000227795374669154, 0.000194537810585018,
0.000194223562745636, 0.000193265761896581, 0.000182116190129302,
0.000177714590367869, 0.000169033130493577, 0.000167089746473442,
0.000155175590879555, 0.000151700563314758, 0.000116891949332653,
0.000109045308325609, 9.55740525135976e-05, 9.5331913947059e-05,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0
), Group = c(
"C1", "A1", "C1", "B2", "C1", "B1",
"B1", "B1", "C1", "B1", "A1", "B1", "B1", "B1", "B2", "B2", "A1",
"B1", "A1", "B1", "B2", "B1", "A1", "B1", "B2", "B1", "B1", "A1",
"B1", "B2", "B2", "B1", "B1", "B2", "B1", "B2", "B2", "A1", "A1",
"A2", "A2", "A2", "A2", "B2", "B2", "A2", "B2", "C2", "A2", "B2",
"B2", "A2", "B2", "A2", "B1", "B2", "A1", "A1", "B1", "C2", "B2",
"C2", "B2", "B2"
)), class = "data.frame", row.names = c(NA, -64L))
mre_star <- structure(list(xmin = c("B1", "C1", "A1"), xmax = c(
"B2", "C2",
"A2"
), annotations = c("*", "*", "*"), y_position = c(
0.0304622974195429,
0.0332315971849559, 0.0332315971849559
), Test = c(
"Test1", "Test2",
"Test2"
)), row.names = c(NA, -3L), class = "data.frame")
# If I'm not rescaling the y axis, this works fine
unscaled <- ggplot(mre_df, aes(Group, Abundance)) +
geom_boxplot() +
geom_signif(
data = mre_star, aes(
annotations = annotations,
xmin = xmin, xmax = xmax,
y_position = y_position,
colour = Test
),
manual = TRUE
)
#> Warning: Ignoring unknown aesthetics: annotations, xmin, xmax, y_position
unscaled # If I rescale the y axis, only the boxplots get rescaled
broken <- ggplot(mre_df, aes(Group, Abundance)) +
geom_boxplot() +
geom_signif(
data = mre_star, aes(
annotations = annotations,
xmin = xmin, xmax = xmax,
y_position = y_position,
colour = Test
),
manual = TRUE
) +
scale_y_sqrt()
#> Warning: Ignoring unknown aesthetics: annotations, xmin, xmax, y_position
broken # I need to manually rescale the significance data frame
mre_star$y_position <- sqrt(mre_star$y_position)
fixed <- ggplot(mre_df, aes(Group, Abundance)) +
geom_boxplot() +
geom_signif(
data = mre_star, aes(
annotations = annotations,
xmin = xmin, xmax = xmax,
y_position = y_position,
colour = Test
),
manual = TRUE
) +
scale_y_sqrt()
#> Warning: Ignoring unknown aesthetics: annotations, xmin, xmax, y_position
fixed Created on 2021-01-21 by the reprex package (v0.3.0) Session infodevtools::session_info()
#> ─ Session info ───────────────────────────────────────────────────────────────
#> setting value
#> version R version 4.0.3 (2020-10-10)
#> os macOS Mojave 10.14.6
#> system x86_64, darwin17.0
#> ui X11
#> language (EN)
#> collate en_US.UTF-8
#> ctype en_US.UTF-8
#> tz Europe/Berlin
#> date 2021-01-21
#>
#> ─ Packages ───────────────────────────────────────────────────────────────────
#> package * version date lib source
#> assertthat 0.2.1 2019-03-21 [1] CRAN (R 4.0.2)
#> callr 3.5.1 2020-10-13 [1] CRAN (R 4.0.2)
#> cli 2.2.0 2020-11-20 [1] CRAN (R 4.0.3)
#> colorspace 2.0-0 2020-11-11 [1] CRAN (R 4.0.2)
#> crayon 1.3.4 2017-09-16 [1] CRAN (R 4.0.2)
#> curl 4.3 2019-12-02 [1] CRAN (R 4.0.1)
#> DBI 1.1.1 2021-01-15 [1] CRAN (R 4.0.3)
#> desc 1.2.0 2018-05-01 [1] CRAN (R 4.0.2)
#> devtools 2.3.2 2020-09-18 [1] CRAN (R 4.0.2)
#> digest 0.6.27 2020-10-24 [1] CRAN (R 4.0.2)
#> dplyr 1.0.3 2021-01-15 [1] CRAN (R 4.0.3)
#> ellipsis 0.3.1 2020-05-15 [1] CRAN (R 4.0.2)
#> evaluate 0.14 2019-05-28 [1] CRAN (R 4.0.1)
#> fansi 0.4.2 2021-01-15 [1] CRAN (R 4.0.3)
#> farver 2.0.3 2020-01-16 [1] CRAN (R 4.0.2)
#> fs 1.5.0 2020-07-31 [1] CRAN (R 4.0.2)
#> generics 0.1.0 2020-10-31 [1] CRAN (R 4.0.2)
#> ggplot2 * 3.3.3 2020-12-30 [1] CRAN (R 4.0.3)
#> ggsignif * 0.6.0 2019-08-08 [1] CRAN (R 4.0.2)
#> glue 1.4.2 2020-08-27 [1] CRAN (R 4.0.2)
#> gtable 0.3.0 2019-03-25 [1] CRAN (R 4.0.2)
#> highr 0.8 2019-03-20 [1] CRAN (R 4.0.2)
#> htmltools 0.5.1 2021-01-12 [1] CRAN (R 4.0.3)
#> httr 1.4.2 2020-07-20 [1] CRAN (R 4.0.2)
#> knitr 1.30 2020-09-22 [1] CRAN (R 4.0.2)
#> labeling 0.4.2 2020-10-20 [1] CRAN (R 4.0.2)
#> lifecycle 0.2.0 2020-03-06 [1] CRAN (R 4.0.2)
#> magrittr 2.0.1 2020-11-17 [1] CRAN (R 4.0.3)
#> memoise 1.1.0 2017-04-21 [1] CRAN (R 4.0.2)
#> mime 0.9 2020-02-04 [1] CRAN (R 4.0.2)
#> munsell 0.5.0 2018-06-12 [1] CRAN (R 4.0.2)
#> pillar 1.4.7 2020-11-20 [1] CRAN (R 4.0.3)
#> pkgbuild 1.2.0 2020-12-15 [1] CRAN (R 4.0.3)
#> pkgconfig 2.0.3 2019-09-22 [1] CRAN (R 4.0.2)
#> pkgload 1.1.0 2020-05-29 [1] CRAN (R 4.0.2)
#> prettyunits 1.1.1 2020-01-24 [1] CRAN (R 4.0.2)
#> processx 3.4.5 2020-11-30 [1] CRAN (R 4.0.3)
#> ps 1.5.0 2020-12-05 [1] CRAN (R 4.0.3)
#> purrr 0.3.4 2020-04-17 [1] CRAN (R 4.0.2)
#> R6 2.5.0 2020-10-28 [1] CRAN (R 4.0.2)
#> remotes 2.2.0 2020-07-21 [1] CRAN (R 4.0.2)
#> rlang 0.4.10 2020-12-30 [1] CRAN (R 4.0.3)
#> rmarkdown 2.6 2020-12-14 [1] CRAN (R 4.0.3)
#> rprojroot 2.0.2 2020-11-15 [1] CRAN (R 4.0.3)
#> scales 1.1.1 2020-05-11 [1] CRAN (R 4.0.2)
#> sessioninfo 1.1.1 2018-11-05 [1] CRAN (R 4.0.2)
#> stringi 1.5.3 2020-09-09 [1] CRAN (R 4.0.2)
#> stringr 1.4.0 2019-02-10 [1] CRAN (R 4.0.2)
#> testthat 3.0.1 2020-12-17 [1] CRAN (R 4.0.3)
#> tibble 3.0.5 2021-01-15 [1] CRAN (R 4.0.3)
#> tidyselect 1.1.0 2020-05-11 [1] CRAN (R 4.0.2)
#> usethis 2.0.0 2020-12-10 [1] CRAN (R 4.0.3)
#> vctrs 0.3.6 2020-12-17 [1] CRAN (R 4.0.3)
#> withr 2.4.0 2021-01-16 [1] CRAN (R 4.0.3)
#> xfun 0.20 2021-01-06 [1] CRAN (R 4.0.3)
#> xml2 1.3.2 2020-04-23 [1] CRAN (R 4.0.2)
#> yaml 2.2.1 2020-02-01 [1] CRAN (R 4.0.2)
#>
#> [1] /Users/patil/Library/R/4.0/library
#> [2] /Library/Frameworks/R.framework/Versions/4.0/Resources/library |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I am using the manual annotations option described here, and it's working great except when I add
scale_y_sqrt()
to the plot, the data points get rescaled but it appears that the annotations do not. They_position
is defined such that the lines are above all the data and this works fine when the y-axis is not rescale, but once I rescale the data the bars are sometimes below the data. Wondering if anyone has any idea how to fix this.The text was updated successfully, but these errors were encountered: