test_that("nice_violin", { skip_if_not_installed("ggplot2") skip_if_not_installed("boot") skip_if_not_installed("ggsignif") skip_if_not_installed("ggrepel") # Make the basic plot x1 <- nice_violin( data = ToothGrowth, group = "dose", response = "len" ) expect_s3_class( x1, c("gg", "ggplot2") ) ggplot2::ggsave("plot.jpg", width = 7, height = 7, unit = "in", dpi = 300, path = NULL ) # expect_snapshot_file("plot.jpg") # Not working... # Remove file unlink("niceviolinplothere.tiff") # Change x- and y- axes labels x2 <- nice_violin( data = ToothGrowth, group = "dose", response = "len", ytitle = "Length of Tooth", xtitle = "Vitamin C Dosage" ) expect_s3_class( x2, c("gg", "ggplot2") ) # See difference between two groups x3 <- nice_violin( data = ToothGrowth, group = "dose", response = "len", comp1 = "0.5", comp2 = "2" ) expect_s3_class( x3, c("gg", "ggplot2") ) x4 <- nice_violin( data = ToothGrowth, group = "dose", response = "len", comp1 = 2, comp2 = 3 ) expect_s3_class( x4, c("gg", "ggplot2") ) # Compare all three groups x5 <- nice_violin( data = ToothGrowth, group = "dose", response = "len", signif_annotation = c("*", "**", "***"), # manually enter the number of stars signif_yposition = c(30, 35, 40), # What height (y) should the stars appear? signif_xmin = c(1, 2, 1), # Where should the left-sided brackets start (x)? signif_xmax = c(2, 3, 3) ) # Where should the right-sided brackets end (x)? expect_s3_class( x5, c("gg", "ggplot2") ) # Set the colours manually x6 <- nice_violin( data = ToothGrowth, group = "dose", response = "len", colours = c("darkseagreen", "cadetblue", "darkslateblue") ) expect_s3_class( x6, c("gg", "ggplot2") ) # Changing the names of the x-axis labels x7 <- nice_violin( data = ToothGrowth, group = "dose", response = "len", xlabels = c("Low", "Medium", "High") ) expect_s3_class( x7, c("gg", "ggplot2") ) # Removing the x-axis or y-axis titles x8 <- nice_violin( data = ToothGrowth, group = "dose", response = "len", ytitle = NULL, xtitle = NULL ) expect_s3_class( x8, c("gg", "ggplot2") ) # Removing the x-axis or y-axis labels (for whatever purpose) x9 <- nice_violin( data = ToothGrowth, group = "dose", response = "len", has.ylabels = FALSE, has.xlabels = FALSE ) expect_s3_class( x9, c("gg", "ggplot2") ) # Set y-scale manually x10 <- nice_violin( data = ToothGrowth, group = "dose", response = "len", ymin = 5, ymax = 35, yby = 5 ) expect_s3_class( x10, c("gg", "ggplot2") ) # Plotting individual observations x11 <- nice_violin( data = ToothGrowth, group = "dose", response = "len", obs = TRUE ) expect_s3_class( x11, c("gg", "ggplot2") ) # Micro-customizations x12 <- nice_violin( data = ToothGrowth, group = "dose", response = "len", CIcap.width = 0, alpha = 1, border.colour = "black" ) expect_s3_class( x12, c("gg", "ggplot2") ) })