DillonHammill / CytoExploreR

Interactive Cytometry Data Analysis
60 stars 13 forks source link

density_stack in cyto_plot is now an atomic vector? #112

Closed northNomad closed 3 years ago

northNomad commented 3 years ago

Hi Dillon, Running some old code. Seemed to have broke.

Not sure if there is a change in how we should set density_stack in cyto_plot

Much love, NN

cyto_plot(cyto_select(gs, list(treatment = c("drugA", "drugB", "drugC"))),
          channels = "FL2-A",
          parent = "hCD33",
          group_by = list(treatment = c("drugA", "drugB", "drugC")),
          density_stack = 0.5
          )
Error in fr_dens_list[[1]]$y : $ operator is invalid for atomic vectors
R version 4.0.3 (2020-10-10)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 18363)

Matrix products: default

locale:
[1] LC_COLLATE=English_Canada.1252  LC_CTYPE=English_Canada.1252    LC_MONETARY=English_Canada.1252
[4] LC_NUMERIC=C                    LC_TIME=English_Canada.1252    
system code page: 950

attached base packages:
[1] stats4    parallel  stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] shiny_1.6.0                 CytoExploreR_1.0.8          openCyto_2.0.0             
 [4] flowWorkspace_4.0.6         flowCore_2.0.1              ggpubr_0.4.0               
 [7] readxl_1.3.1                maftools_2.4.12             VariantAnnotation_1.34.0   
[10] Rsamtools_2.4.0             Biostrings_2.56.0           XVector_0.28.0             
[13] SummarizedExperiment_1.18.2 DelayedArray_0.14.1         matrixStats_0.58.0         
[16] Biobase_2.48.0              GenomicRanges_1.40.0        GenomeInfoDb_1.24.2        
[19] IRanges_2.22.2              S4Vectors_0.26.1            BiocGenerics_0.34.0        
[22] patchwork_1.1.1             plotly_4.9.3.9000           ggsci_2.9                  
[25] ggrepel_0.9.1               reticulate_1.18             forcats_0.5.1              
[28] stringr_1.4.0               dplyr_1.0.3                 purrr_0.3.4                
[31] readr_1.4.0                 tidyr_1.1.2                 tibble_3.0.6               
[34] ggplot2_3.3.3               tidyverse_1.3.0            

loaded via a namespace (and not attached):
  [1] rappdirs_0.3.3           rtracklayer_1.48.0       R.methodsS3_1.8.1       
  [4] bit64_4.0.5              knitr_1.31               R.utils_2.10.1          
  [7] rpart_4.1-15             data.table_1.14.0        RCurl_1.98-1.2          
 [10] generics_0.1.0           GenomicFeatures_1.40.1   RSQLite_2.2.3           
 [13] bit_4.0.4                xml2_1.3.2               lubridate_1.7.9.2       
 [16] httpuv_1.5.5             assertthat_0.2.1         xfun_0.20               
 [19] hms_1.0.0                jquerylib_0.1.3          evaluate_0.14           
 [22] promises_1.2.0.1         DEoptimR_1.0-8           fansi_0.4.2             
 [25] progress_1.2.2           dbplyr_2.1.0             Rgraphviz_2.32.0        
 [28] DBI_1.1.1                tmvnsim_1.0-2            htmlwidgets_1.5.3       
 [31] ellipsis_0.3.1           RSpectra_0.16-0          crosstalk_1.1.1         
 [34] ks_1.12.0                backports_1.1.9          cytolib_2.0.3           
 [37] RcppParallel_5.0.3       biomaRt_2.44.4           vctrs_0.3.6             
 [40] abind_1.4-5              cachem_1.0.1             withr_2.4.1             
 [43] BSgenome_1.56.0          robustbase_0.93-7        checkmate_2.0.0         
 [46] GenomicAlignments_1.24.0 prettyunits_1.1.1        mclust_5.4.7            
 [49] mnormt_2.0.2             cluster_2.1.0            lazyeval_0.2.2          
 [52] crayon_1.4.1             ellipse_0.4.2            pkgconfig_2.0.3         
 [55] labeling_0.4.2           changepoint_2.2.2        nnet_7.3-15             
 [58] rlang_0.4.10             lifecycle_1.0.0          BiocFileCache_1.12.1    
 [61] modelr_0.1.8             rsvd_1.0.3               cellranger_1.1.0        
 [64] graph_1.66.0             flowClust_3.26.0         Matrix_1.2-18           
 [67] carData_3.0-4            Rhdf5lib_1.10.1          zoo_1.8-9               
 [70] base64enc_0.1-3          reprex_1.0.0             png_0.1-7               
 [73] viridisLite_0.3.0        bitops_1.0-6             R.oo_1.24.0             
 [76] KernSmooth_2.23-18       visNetwork_2.0.9         blob_1.2.1              
 [79] jpeg_0.1-8.1             rstatix_0.7.0            ggsignif_0.6.1          
 [82] scales_1.1.1             memoise_2.0.0            magrittr_2.0.1          
 [85] plyr_1.8.6               hexbin_1.28.2            zlibbioc_1.34.0         
 [88] compiler_4.0.3           hdrcde_3.4               RColorBrewer_1.1-2      
 [91] clue_0.3-58              rrcov_1.5-5              cli_2.3.1               
 [94] ncdfFlow_2.34.0          htmlTable_2.1.0          Formula_1.2-4           
 [97] MASS_7.3-53.1            tidyselect_1.1.0         stringi_1.5.3           
[100] RProtoBufLib_2.0.0       yaml_2.2.1               askpass_1.1             
[103] latticeExtra_0.6-29      grid_4.0.3               sass_0.3.1              
[106] tools_4.0.3              rio_0.5.26               rstudioapi_0.13         
[109] foreign_0.8-81           gridExtra_2.3            farver_2.0.3            
[112] Rtsne_0.15               digest_0.6.27            flowAI_1.18.5           
[115] Rcpp_1.0.6               car_3.0-10               broom_0.7.5             
[118] later_1.1.0.1            fda_5.1.9                httr_1.4.2              
[121] IDPmisc_1.1.20           AnnotationDbi_1.50.3     rhandsontable_0.3.7     
[124] flowStats_4.0.0          colorspace_2.0-0         rvest_1.0.0             
[127] XML_3.99-0.5             fs_1.5.0                 rainbow_3.6             
[130] umap_0.2.7.0             splines_4.0.3            RBGL_1.64.0             
[133] shinythemes_1.2.0        sessioninfo_1.1.1        xtable_1.8-4            
[136] jsonlite_1.7.2           fds_1.8                  corpcor_1.6.9           
[139] R6_2.5.0                 Hmisc_4.5-0              pillar_1.5.1            
[142] htmltools_0.5.1.1        mime_0.10                glue_1.4.2              
[145] fastmap_1.1.0            BiocParallel_1.22.0      pcaPP_1.9-73            
[148] mvtnorm_1.1-1            utf8_1.1.4               lattice_0.20-41         
[151] bslib_0.2.4              EmbedSOM_2.1.1           flowViz_1.52.0          
[154] curl_4.3                 gtools_3.8.2             zip_2.1.1               
[157] openxlsx_4.2.3           openssl_1.4.3            survival_3.2-7          
[160] rmarkdown_2.7            munsell_0.5.0            rhdf5_2.32.4            
[163] GenomeInfoDbData_1.2.3   haven_2.3.1              reshape2_1.4.4          
[166] gtable_0.3.0   
northNomad commented 3 years ago

Seems like a general issue to density_xxx


###SAME CODE AS ABOVE
+           density_fill_alpha = 0,
+           density_line_width = 2
+           )
Error in fr_dens_list[[1]]$y : $ operator is invalid for atomic vectors
northNomad commented 3 years ago

Figured it out, I had a new .fcs with no events in a gate. Apologize for the confusion.

DillonHammill commented 3 years ago

@northNomad, cyto_plot() should handle empty samples, so I would still like to fix this. Do you mind posting the output of traceback() after running the problematic code?

northNomad commented 3 years ago

@northNomad, cyto_plot() should handle empty samples, so I would still like to fix this. Do you mind posting the output of traceback() after running the problematic code?

@DillonHammill Thanks Dillon

Error in fr_dens_list[[1]]$y : $ operator is invalid for atomic vectors
> traceback()
13: paste(0, max(fr_dens_list[[1]]$y), sep = "-")
12: .cyto_density.list(fr_list, channel = channels, smooth = density_smooth, 
        modal = density_modal, stack = density_stack)
11: .cyto_density(fr_list, channel = channels, smooth = density_smooth, 
        modal = density_modal, stack = density_stack)
10: withCallingHandlers(expr, message = function(c) if (inherits(c, 
        classes)) tryInvokeRestart("muffleMessage"))
9: suppressMessages(.cyto_density(fr_list, channel = channels, smooth = density_smooth, 
       modal = density_modal, stack = density_stack))
8: cyto_plot.flowFrame(x[[1]], channels = channels, overlay = overlay, 
       gate = gate, axes_trans = axes_trans, axes_limits = axes_limits, 
       display = display, margins = margins, popup = FALSE, xlim = xlim, 
       ylim = ylim, xlab = xlab, ylab = ylab, title = title, negate = negate, 
       title_text_font = title_text_font, title_text_size = title_text_size, 
       title_text_col = title_text_col, density_modal = density_modal, 
       density_smooth = density_smooth, density_stack = density_stack, 
       density_cols = density_cols, density_fill = density_fill, 
       density_fill_alpha = density_fill_alpha, density_line_type = density_line_type, 
       density_line_width = density_line_width, density_line_col = density_line_col, 
       point_shape = point_shape, point_size = point_size, point_col_scale = point_col_scale, 
       point_cols = point_cols, point_col = point_col, point_col_alpha = point_col_alpha, 
       contour_lines = contour_lines, contour_line_type = contour_line_type, 
       contour_line_width = contour_line_width, contour_line_col = contour_line_col, 
       contour_line_alpha = contour_line_alpha, axes_text = axes_text, 
       axes_text_font = axes_text_font, axes_text_size = axes_text_size, 
       axes_text_col = axes_text_col, axes_label_text_font = axes_label_text_font, 
       axes_label_text_size = axes_label_text_size, axes_label_text_col = axes_label_text_col, 
       legend = legend, legend_text = legend_text, legend_text_font = legend_text_font, 
       legend_text_size = legend_text_size, legend_text_col = legend_text_col, 
       legend_line_type = legend_line_type, legend_line_width = legend_line_width, 
       legend_line_col = legend_line_col, legend_box_fill = legend_box_fill, 
       legend_point_col = legend_point_col, gate_line_type = gate_line_type, 
       gate_line_width = gate_line_width, gate_line_col = gate_line_col, 
       gate_fill = gate_fill, gate_fill_alpha = gate_fill_alpha, 
       label = label, label_text = label_text, label_stat = label_stat, 
       label_position = label_position, label_text_x = label_text_x, 
       label_text_y = label_text_y, label_text_font = label_text_font, 
       label_text_size = label_text_size, label_text_col = label_text_col, 
       label_fill = label_fill, label_fill_alpha = label_fill_alpha, 
       border_line_type = border_line_type, border_line_width = border_line_width, 
       border_line_col = border_line_col, border_fill = border_fill, 
       border_fill_alpha = border_fill_alpha)
7: cyto_plot(x[[1]], channels = channels, overlay = overlay, gate = gate, 
       axes_trans = axes_trans, axes_limits = axes_limits, display = display, 
       margins = margins, popup = FALSE, xlim = xlim, ylim = ylim, 
       xlab = xlab, ylab = ylab, title = title, negate = negate, 
       title_text_font = title_text_font, title_text_size = title_text_size, 
       title_text_col = title_text_col, density_modal = density_modal, 
       density_smooth = density_smooth, density_stack = density_stack, 
       density_cols = density_cols, density_fill = density_fill, 
       density_fill_alpha = density_fill_alpha, density_line_type = density_line_type, 
       density_line_width = density_line_width, density_line_col = density_line_col, 
       point_shape = point_shape, point_size = point_size, point_col_scale = point_col_scale, 
       point_cols = point_cols, point_col = point_col, point_col_alpha = point_col_alpha, 
       contour_lines = contour_lines, contour_line_type = contour_line_type, 
       contour_line_width = contour_line_width, contour_line_col = contour_line_col, 
       contour_line_alpha = contour_line_alpha, axes_text = axes_text, 
       axes_text_font = axes_text_font, axes_text_size = axes_text_size, 
       axes_text_col = axes_text_col, axes_label_text_font = axes_label_text_font, 
       axes_label_text_size = axes_label_text_size, axes_label_text_col = axes_label_text_col, 
       legend = legend, legend_text = legend_text, legend_text_font = legend_text_font, 
       legend_text_size = legend_text_size, legend_text_col = legend_text_col, 
       legend_line_type = legend_line_type, legend_line_width = legend_line_width, 
       legend_line_col = legend_line_col, legend_box_fill = legend_box_fill, 
       legend_point_col = legend_point_col, gate_line_type = gate_line_type, 
       gate_line_width = gate_line_width, gate_line_col = gate_line_col, 
       gate_fill = gate_fill, gate_fill_alpha = gate_fill_alpha, 
       label = label, label_text = label_text, label_stat = label_stat, 
       label_position = label_position, label_text_x = label_text_x, 
       label_text_y = label_text_y, label_text_font = label_text_font, 
       label_text_size = label_text_size, label_text_col = label_text_col, 
       label_fill = label_fill, label_fill_alpha = label_fill_alpha, 
       border_line_type = border_line_type, border_line_width = border_line_width, 
       border_line_col = border_line_col, border_fill = border_fill, 
       border_fill_alpha = border_fill_alpha)
6: (function (x, gate, axes_limits, display, xlab, ylab, title, 
       title_text_font, title_text_size, title_text_col, density_modal, 
       density_smooth, density_stack, density_fill, density_fill_alpha, 
       density_line_type, density_line_width, density_line_col, 
       point_shape, point_size, point_col, point_col_alpha, contour_lines, 
       contour_line_type, contour_line_width, contour_line_col, 
       contour_line_alpha, axes_text, axes_text_font, axes_text_size, 
       axes_text_col, axes_label_text_font, axes_label_text_size, 
       axes_label_text_col, legend, legend_text, legend_text_font, 
       legend_text_size, legend_text_col, legend_line_type, legend_line_width, 
       legend_line_col, legend_box_fill, legend_point_col, gate_line_type, 
       gate_line_width, gate_line_col, gate_fill, gate_fill_alpha, 
       label, label_text, label_stat, label_position, label_text_x, 
       label_text_y, label_text_font, label_text_size, label_text_col, 
       label_fill, label_fill_alpha, border_line_type, border_line_width, 
       border_line_col, border_fill, border_fill_alpha) 
   {
       cnt <<- cnt + 1
       if (length(x) > 1) {
           overlay <- x[seq(2, length(x), 1)]
       }
       else {
           overlay <- NA
       }
       cyto_plot(x[[1]], channels = channels, overlay = overlay, 
           gate = gate, axes_trans = axes_trans, axes_limits = axes_limits, 
           display = display, margins = margins, popup = FALSE, 
           xlim = xlim, ylim = ylim, xlab = xlab, ylab = ylab, title = title, 
           negate = negate, title_text_font = title_text_font, title_text_size = title_text_size, 
           title_text_col = title_text_col, density_modal = density_modal, 
           density_smooth = density_smooth, density_stack = density_stack, 
           density_cols = density_cols, density_fill = density_fill, 
           density_fill_alpha = density_fill_alpha, density_line_type = density_line_type, 
           density_line_width = density_line_width, density_line_col = density_line_col, 
           point_shape = point_shape, point_size = point_size, point_col_scale = point_col_scale, 
           point_cols = point_cols, point_col = point_col, point_col_alpha = point_col_alpha, 
           contour_lines = contour_lines, contour_line_type = contour_line_type, 
           contour_line_width = contour_line_width, contour_line_col = contour_line_col, 
           contour_line_alpha = contour_line_alpha, axes_text = axes_text, 
           axes_text_font = axes_text_font, axes_text_size = axes_text_size, 
           axes_text_col = axes_text_col, axes_label_text_font = axes_label_text_font, 
           axes_label_text_size = axes_label_text_size, axes_label_text_col = axes_label_text_col, 
           legend = legend, legend_text = legend_text, legend_text_font = legend_text_font, 
           legend_text_size = legend_text_size, legend_text_col = legend_text_col, 
           legend_line_type = legend_line_type, legend_line_width = legend_line_width, 
           legend_line_col = legend_line_col, legend_box_fill = legend_box_fill, 
           legend_point_col = legend_point_col, gate_line_type = gate_line_type, 
           gate_line_width = gate_line_width, gate_line_col = gate_line_col, 
           gate_fill = gate_fill, gate_fill_alpha = gate_fill_alpha, 
           label = label, label_text = label_text, label_stat = label_stat, 
           label_position = label_position, label_text_x = label_text_x, 
           label_text_y = label_text_y, label_text_font = label_text_font, 
           label_text_size = label_text_size, label_text_col = label_text_col, 
           label_fill = label_fill, label_fill_alpha = label_fill_alpha, 
           border_line_type = border_line_type, border_line_width = border_line_width, 
           border_line_col = border_line_col, border_fill = border_fill, 
           border_fill_alpha = border_fill_alpha)
       if (cnt%%np == 0 | cnt == length(fr_list)) {
           if (getOption("cyto_plot_method") == "flowSet") {
               p <- cyto_plot_record()
           }
           else {
               p <- NULL
           }
       }
       else {
           p <- NULL
       }
       if (popup == TRUE & cnt%%np == 0 & length(fr_list) > cnt) {
           cyto_plot_new(popup = popup)
           par(mfrow = layout)
       }
       return(p)
   })(dots[[1L]][[1L]], dots[[2L]][[1L]], dots[[3L]][[1L]], dots[[4L]][[1L]], 
       dots[[5L]][[1L]], dots[[6L]][[1L]], dots[[7L]][[1L]], dots[[8L]][[1L]], 
       dots[[9L]][[1L]], dots[[10L]][[1L]], dots[[11L]][[1L]], dots[[12L]][[1L]], 
       dots[[13L]][[1L]], dots[[14L]][[1L]], dots[[15L]][[1L]], 
       dots[[16L]][[1L]], dots[[17L]][[1L]], dots[[18L]][[1L]], 
       dots[[19L]][[1L]], dots[[20L]][[1L]], dots[[21L]][[1L]], 
       dots[[22L]][[1L]], dots[[23L]][[1L]], dots[[24L]][[1L]], 
       dots[[25L]][[1L]], dots[[26L]][[1L]], dots[[27L]][[1L]], 
       dots[[28L]][[1L]], dots[[29L]][[1L]], dots[[30L]][[1L]], 
       dots[[31L]][[1L]], dots[[32L]][[1L]], dots[[33L]][[1L]], 
       dots[[34L]][[1L]], dots[[35L]][[1L]], dots[[36L]][[1L]], 
       dots[[37L]][[1L]], dots[[38L]][[1L]], dots[[39L]][[1L]], 
       dots[[40L]][[1L]], dots[[41L]][[1L]], dots[[42L]][[1L]], 
       dots[[43L]][[1L]], dots[[44L]][[1L]], dots[[45L]][[1L]], 
       dots[[46L]][[1L]], dots[[47L]][[1L]], dots[[48L]][[1L]], 
       dots[[49L]][[1L]], dots[[50L]][[1L]], dots[[51L]][[1L]], 
       dots[[52L]][[1L]], dots[[53L]][[1L]], dots[[54L]][[1L]], 
       dots[[55L]][[1L]], dots[[56L]][[1L]], dots[[57L]][[1L]], 
       dots[[58L]][[1L]], dots[[59L]][[1L]], dots[[60L]][[1L]], 
       dots[[61L]][[1L]], dots[[62L]][[1L]], dots[[63L]][[1L]], 
       dots[[64L]][[1L]], dots[[65L]][[1L]])
5: mapply(function(x, gate, axes_limits, display, xlab, ylab, title, 
       title_text_font, title_text_size, title_text_col, density_modal, 
       density_smooth, density_stack, density_fill, density_fill_alpha, 
       density_line_type, density_line_width, density_line_col, 
       point_shape, point_size, point_col, point_col_alpha, contour_lines, 
       contour_line_type, contour_line_width, contour_line_col, 
       contour_line_alpha, axes_text, axes_text_font, axes_text_size, 
       axes_text_col, axes_label_text_font, axes_label_text_size, 
       axes_label_text_col, legend, legend_text, legend_text_font, 
       legend_text_size, legend_text_col, legend_line_type, legend_line_width, 
       legend_line_col, legend_box_fill, legend_point_col, gate_line_type, 
       gate_line_width, gate_line_col, gate_fill, gate_fill_alpha, 
       label, label_text, label_stat, label_position, label_text_x, 
       label_text_y, label_text_font, label_text_size, label_text_col, 
       label_fill, label_fill_alpha, border_line_type, border_line_width, 
       border_line_col, border_fill, border_fill_alpha) {
       cnt <<- cnt + 1
       if (length(x) > 1) {
           overlay <- x[seq(2, length(x), 1)]
       }
       else {
           overlay <- NA
       }
       cyto_plot(x[[1]], channels = channels, overlay = overlay, 
           gate = gate, axes_trans = axes_trans, axes_limits = axes_limits, 
           display = display, margins = margins, popup = FALSE, 
           xlim = xlim, ylim = ylim, xlab = xlab, ylab = ylab, title = title, 
           negate = negate, title_text_font = title_text_font, title_text_size = title_text_size, 
           title_text_col = title_text_col, density_modal = density_modal, 
           density_smooth = density_smooth, density_stack = density_stack, 
           density_cols = density_cols, density_fill = density_fill, 
           density_fill_alpha = density_fill_alpha, density_line_type = density_line_type, 
           density_line_width = density_line_width, density_line_col = density_line_col, 
           point_shape = point_shape, point_size = point_size, point_col_scale = point_col_scale, 
           point_cols = point_cols, point_col = point_col, point_col_alpha = point_col_alpha, 
           contour_lines = contour_lines, contour_line_type = contour_line_type, 
           contour_line_width = contour_line_width, contour_line_col = contour_line_col, 
           contour_line_alpha = contour_line_alpha, axes_text = axes_text, 
           axes_text_font = axes_text_font, axes_text_size = axes_text_size, 
           axes_text_col = axes_text_col, axes_label_text_font = axes_label_text_font, 
           axes_label_text_size = axes_label_text_size, axes_label_text_col = axes_label_text_col, 
           legend = legend, legend_text = legend_text, legend_text_font = legend_text_font, 
           legend_text_size = legend_text_size, legend_text_col = legend_text_col, 
           legend_line_type = legend_line_type, legend_line_width = legend_line_width, 
           legend_line_col = legend_line_col, legend_box_fill = legend_box_fill, 
           legend_point_col = legend_point_col, gate_line_type = gate_line_type, 
           gate_line_width = gate_line_width, gate_line_col = gate_line_col, 
           gate_fill = gate_fill, gate_fill_alpha = gate_fill_alpha, 
           label = label, label_text = label_text, label_stat = label_stat, 
           label_position = label_position, label_text_x = label_text_x, 
           label_text_y = label_text_y, label_text_font = label_text_font, 
           label_text_size = label_text_size, label_text_col = label_text_col, 
           label_fill = label_fill, label_fill_alpha = label_fill_alpha, 
           border_line_type = border_line_type, border_line_width = border_line_width, 
           border_line_col = border_line_col, border_fill = border_fill, 
           border_fill_alpha = border_fill_alpha)
       if (cnt%%np == 0 | cnt == length(fr_list)) {
           if (getOption("cyto_plot_method") == "flowSet") {
               p <- cyto_plot_record()
           }
           else {
               p <- NULL
           }
       }
       else {
           p <- NULL
       }
       if (popup == TRUE & cnt%%np == 0 & length(fr_list) > cnt) {
           cyto_plot_new(popup = popup)
           par(mfrow = layout)
       }
       return(p)
   }, fr_list, gate, axes_limits, display, xlab, ylab, title, title_text_font, 
       title_text_size, title_text_col, density_modal, density_smooth, 
       density_stack, density_fill, density_fill_alpha, density_line_type, 
       density_line_width, density_line_col, point_shape, point_size, 
       point_col, point_col_alpha, contour_lines, contour_line_type, 
       contour_line_width, contour_line_col, contour_line_alpha, 
       axes_text, axes_text_font, axes_text_size, axes_text_col, 
       axes_label_text_font, axes_label_text_size, axes_label_text_col, 
       legend, legend_text, legend_text_font, legend_text_size, 
       legend_text_col, legend_line_type, legend_line_width, legend_line_col, 
       legend_box_fill, legend_point_col, gate_line_type, gate_line_width, 
       gate_line_col, gate_fill, gate_fill_alpha, label, label_text, 
       label_stat, label_position, label_text_x, label_text_y, label_text_font, 
       label_text_size, label_text_col, label_fill, label_fill_alpha, 
       border_line_type, border_line_width, border_line_col, border_fill, 
       border_fill_alpha)
4: cyto_plot.flowSet(x = new("cytoset", pointer = <pointer: 0x0000025958371550>, 
       frames = <environment>, phenoData = new("AnnotatedDataFrame", 
           varMetadata = structure(list(labelDescription = character(0)), row.names = character(0), class = "data.frame"), 
           data = structure(list(), .Names = character(0), row.names = integer(0), class = "data.frame"), 
           dimLabels = c("rowNames", "columnNames"), .__classVersion__ = new("Versions", 
               .Data = list(c(1L, 1L, 0L))))), channels = "FL2-H", 
       axes_trans = structure(list(`FL1-A` = structure(list(name = "flowJo_logicle", 
           transform = structure(function (x) 
           x <- logicle_transform(as.double(x), as.double(t), as.double(w), 
               as.double(m), as.double(a), FALSE), type = "logicle"), 
           inverse = structure(function (x) 
           x <- logicle_transform(as.double(x), as.double(t), as.double(w), 
               as.double(m), as.double(a), TRUE), type = "logicle"), 
           breaks = function (x) 
           {
               flow_breaks(x, n = n, equal.space = equal.space, 
                   trans.fun, inverse.fun)
           }, minor_breaks = function (b, limits, n) 
           {
               b <- b[!is.na(b)]
               if (length(b) < 2) 
                   return()
               bd <- diff(b)[1]
               if (!reverse) {
                   if (min(limits) < min(b)) 
                     b <- c(b[1] - bd, b)
                   if (max(limits) > max(b)) 
                     b <- c(b, b[length(b)] + bd)
               }
               else {
                   if (max(limits) > max(b)) 
                     b <- c(b[1] - bd, b)
                   if (min(limits) < min(b)) 
                     b <- c(b, b[length(b)] + bd)
               }
               seq_between <- function(a, b) {
                   seq(a, b, length.out = n + 1)[-(n + 1)]
               }
               breaks <- unlist(Map(seq_between, b[-length(b)], 
                   b[-1]))
               breaks <- c(breaks, b[length(b)])
               breaks
           }, format = function (x) 
           {
               pretty10exp(as.numeric(x), drop.1 = TRUE)
           }, domain = c(-Inf, Inf)), class = "trans"), `FL1-H` = structure(list(
           name = "flowJo_logicle", transform = structure(function (x) 
           x <- logicle_transform(as.double(x), as.double(t), as.double(w), 
               as.double(m), as.double(a), FALSE), type = "logicle"), 
           inverse = structure(function (x) 
           x <- logicle_transform(as.double(x), as.double(t), as.double(w), 
               as.double(m), as.double(a), TRUE), type = "logicle"), 
           breaks = function (x) 
           {
               flow_breaks(x, n = n, equal.space = equal.space, 
                   trans.fun, inverse.fun)
           }, minor_breaks = function (b, limits, n) 
           {
               b <- b[!is.na(b)]
               if (length(b) < 2) 
                   return()
               bd <- diff(b)[1]
               if (!reverse) {
                   if (min(limits) < min(b)) 
                     b <- c(b[1] - bd, b)
                   if (max(limits) > max(b)) 
                     b <- c(b, b[length(b)] + bd)
               }
               else {
                   if (max(limits) > max(b)) 
                     b <- c(b[1] - bd, b)
                   if (min(limits) < min(b)) 
                     b <- c(b, b[length(b)] + bd)
               }
               seq_between <- function(a, b) {
                   seq(a, b, length.out = n + 1)[-(n + 1)]
               }
               breaks <- unlist(Map(seq_between, b[-length(b)], 
                   b[-1]))
               breaks <- c(breaks, b[length(b)])
               breaks
           }, format = function (x) 
           {
               pretty10exp(as.numeric(x), drop.1 = TRUE)
           }, domain = c(-Inf, Inf)), class = "trans"), `FL2-A` = structure(list(
           name = "flowJo_logicle", transform = structure(function (x) 
           x <- logicle_transform(as.double(x), as.double(t), as.double(w), 
               as.double(m), as.double(a), FALSE), type = "logicle"), 
           inverse = structure(function (x) 
           x <- logicle_transform(as.double(x), as.double(t), as.double(w), 
               as.double(m), as.double(a), TRUE), type = "logicle"), 
           breaks = function (x) 
           {
               flow_breaks(x, n = n, equal.space = equal.space, 
                   trans.fun, inverse.fun)
           }, minor_breaks = function (b, limits, n) 
           {
               b <- b[!is.na(b)]
               if (length(b) < 2) 
                   return()
               bd <- diff(b)[1]
               if (!reverse) {
                   if (min(limits) < min(b)) 
                     b <- c(b[1] - bd, b)
                   if (max(limits) > max(b)) 
                     b <- c(b, b[length(b)] + bd)
               }
               else {
                   if (max(limits) > max(b)) 
                     b <- c(b[1] - bd, b)
                   if (min(limits) < min(b)) 
                     b <- c(b, b[length(b)] + bd)
               }
               seq_between <- function(a, b) {
                   seq(a, b, length.out = n + 1)[-(n + 1)]
               }
               breaks <- unlist(Map(seq_between, b[-length(b)], 
                   b[-1]))
               breaks <- c(breaks, b[length(b)])
               breaks
           }, format = function (x) 
           {
               pretty10exp(as.numeric(x), drop.1 = TRUE)
           }, domain = c(-Inf, Inf)), class = "trans"), `FL2-H` = structure(list(
           name = "flowJo_logicle", transform = structure(function (x) 
           x <- logicle_transform(as.double(x), as.double(t), as.double(w), 
               as.double(m), as.double(a), FALSE), type = "logicle"), 
           inverse = structure(function (x) 
           x <- logicle_transform(as.double(x), as.double(t), as.double(w), 
               as.double(m), as.double(a), TRUE), type = "logicle"), 
           breaks = function (x) 
           {
               flow_breaks(x, n = n, equal.space = equal.space, 
                   trans.fun, inverse.fun)
           }, minor_breaks = function (b, limits, n) 
           {
               b <- b[!is.na(b)]
               if (length(b) < 2) 
                   return()
               bd <- diff(b)[1]
               if (!reverse) {
                   if (min(limits) < min(b)) 
                     b <- c(b[1] - bd, b)
                   if (max(limits) > max(b)) 
                     b <- c(b, b[length(b)] + bd)
               }
               else {
                   if (max(limits) > max(b)) 
                     b <- c(b[1] - bd, b)
                   if (min(limits) < min(b)) 
                     b <- c(b, b[length(b)] + bd)
               }
               seq_between <- function(a, b) {
                   seq(a, b, length.out = n + 1)[-(n + 1)]
               }
               breaks <- unlist(Map(seq_between, b[-length(b)], 
                   b[-1]))
               breaks <- c(breaks, b[length(b)])
               breaks
           }, format = function (x) 
           {
               pretty10exp(as.numeric(x), drop.1 = TRUE)
           }, domain = c(-Inf, Inf)), class = "trans"), `FL4-A` = structure(list(
           name = "flowJo_logicle", transform = structure(function (x) 
           x <- logicle_transform(as.double(x), as.double(t), as.double(w), 
               as.double(m), as.double(a), FALSE), type = "logicle"), 
           inverse = structure(function (x) 
           x <- logicle_transform(as.double(x), as.double(t), as.double(w), 
               as.double(m), as.double(a), TRUE), type = "logicle"), 
           breaks = function (x) 
           {
               flow_breaks(x, n = n, equal.space = equal.space, 
                   trans.fun, inverse.fun)
           }, minor_breaks = function (b, limits, n) 
           {
               b <- b[!is.na(b)]
               if (length(b) < 2) 
                   return()
               bd <- diff(b)[1]
               if (!reverse) {
                   if (min(limits) < min(b)) 
                     b <- c(b[1] - bd, b)
                   if (max(limits) > max(b)) 
                     b <- c(b, b[length(b)] + bd)
               }
               else {
                   if (max(limits) > max(b)) 
                     b <- c(b[1] - bd, b)
                   if (min(limits) < min(b)) 
                     b <- c(b, b[length(b)] + bd)
               }
               seq_between <- function(a, b) {
                   seq(a, b, length.out = n + 1)[-(n + 1)]
               }
               breaks <- unlist(Map(seq_between, b[-length(b)], 
                   b[-1]))
               breaks <- c(breaks, b[length(b)])
               breaks
           }, format = function (x) 
           {
               pretty10exp(as.numeric(x), drop.1 = TRUE)
           }, domain = c(-Inf, Inf)), class = "trans"), `FL4-H` = structure(list(
           name = "flowJo_logicle", transform = structure(function (x) 
           x <- logicle_transform(as.double(x), as.double(t), as.double(w), 
               as.double(m), as.double(a), FALSE), type = "logicle"), 
           inverse = structure(function (x) 
           x <- logicle_transform(as.double(x), as.double(t), as.double(w), 
               as.double(m), as.double(a), TRUE), type = "logicle"), 
           breaks = function (x) 
           {
               flow_breaks(x, n = n, equal.space = equal.space, 
                   trans.fun, inverse.fun)
           }, minor_breaks = function (b, limits, n) 
           {
               b <- b[!is.na(b)]
               if (length(b) < 2) 
                   return()
               bd <- diff(b)[1]
               if (!reverse) {
                   if (min(limits) < min(b)) 
                     b <- c(b[1] - bd, b)
                   if (max(limits) > max(b)) 
                     b <- c(b, b[length(b)] + bd)
               }
               else {
                   if (max(limits) > max(b)) 
                     b <- c(b[1] - bd, b)
                   if (min(limits) < min(b)) 
                     b <- c(b, b[length(b)] + bd)
               }
               seq_between <- function(a, b) {
                   seq(a, b, length.out = n + 1)[-(n + 1)]
               }
               breaks <- unlist(Map(seq_between, b[-length(b)], 
                   b[-1]))
               breaks <- c(breaks, b[length(b)])
               breaks
           }, format = function (x) 
           {
               pretty10exp(as.numeric(x), drop.1 = TRUE)
           }, domain = c(-Inf, Inf)), class = "trans"), `FL5-A` = structure(list(
           name = "flowJo_logicle", transform = structure(function (x) 
           x <- logicle_transform(as.double(x), as.double(t), as.double(w), 
               as.double(m), as.double(a), FALSE), type = "logicle"), 
           inverse = structure(function (x) 
           x <- logicle_transform(as.double(x), as.double(t), as.double(w), 
               as.double(m), as.double(a), TRUE), type = "logicle"), 
           breaks = function (x) 
           {
               flow_breaks(x, n = n, equal.space = equal.space, 
                   trans.fun, inverse.fun)
           }, minor_breaks = function (b, limits, n) 
           {
               b <- b[!is.na(b)]
               if (length(b) < 2) 
                   return()
               bd <- diff(b)[1]
               if (!reverse) {
                   if (min(limits) < min(b)) 
                     b <- c(b[1] - bd, b)
                   if (max(limits) > max(b)) 
                     b <- c(b, b[length(b)] + bd)
               }
               else {
                   if (max(limits) > max(b)) 
                     b <- c(b[1] - bd, b)
                   if (min(limits) < min(b)) 
                     b <- c(b, b[length(b)] + bd)
               }
               seq_between <- function(a, b) {
                   seq(a, b, length.out = n + 1)[-(n + 1)]
               }
               breaks <- unlist(Map(seq_between, b[-length(b)], 
                   b[-1]))
               breaks <- c(breaks, b[length(b)])
               breaks
           }, format = function (x) 
           {
               pretty10exp(as.numeric(x), drop.1 = TRUE)
           }, domain = c(-Inf, Inf)), class = "trans"), `FL5-H` = structure(list(
           name = "flowJo_logicle", transform = structure(function (x) 
           x <- logicle_transform(as.double(x), as.double(t), as.double(w), 
               as.double(m), as.double(a), FALSE), type = "logicle"), 
           inverse = structure(function (x) 
           x <- logicle_transform(as.double(x), as.double(t), as.double(w), 
               as.double(m), as.double(a), TRUE), type = "logicle"), 
           breaks = function (x) 
           {
               flow_breaks(x, n = n, equal.space = equal.space, 
                   trans.fun, inverse.fun)
           }, minor_breaks = function (b, limits, n) 
           {
               b <- b[!is.na(b)]
               if (length(b) < 2) 
                   return()
               bd <- diff(b)[1]
               if (!reverse) {
                   if (min(limits) < min(b)) 
                     b <- c(b[1] - bd, b)
                   if (max(limits) > max(b)) 
                     b <- c(b, b[length(b)] + bd)
               }
               else {
                   if (max(limits) > max(b)) 
                     b <- c(b[1] - bd, b)
                   if (min(limits) < min(b)) 
                     b <- c(b, b[length(b)] + bd)
               }
               seq_between <- function(a, b) {
                   seq(a, b, length.out = n + 1)[-(n + 1)]
               }
               breaks <- unlist(Map(seq_between, b[-length(b)], 
                   b[-1]))
               breaks <- c(breaks, b[length(b)])
               breaks
           }, format = function (x) 
           {
               pretty10exp(as.numeric(x), drop.1 = TRUE)
           }, domain = c(-Inf, Inf)), class = "trans"), `FL7-A` = structure(list(
           name = "flowJo_logicle", transform = structure(function (x) 
           x <- logicle_transform(as.double(x), as.double(t), as.double(w), 
               as.double(m), as.double(a), FALSE), type = "logicle"), 
           inverse = structure(function (x) 
           x <- logicle_transform(as.double(x), as.double(t), as.double(w), 
               as.double(m), as.double(a), TRUE), type = "logicle"), 
           breaks = function (x) 
           {
               flow_breaks(x, n = n, equal.space = equal.space, 
                   trans.fun, inverse.fun)
           }, minor_breaks = function (b, limits, n) 
           {
               b <- b[!is.na(b)]
               if (length(b) < 2) 
                   return()
               bd <- diff(b)[1]
               if (!reverse) {
                   if (min(limits) < min(b)) 
                     b <- c(b[1] - bd, b)
                   if (max(limits) > max(b)) 
                     b <- c(b, b[length(b)] + bd)
               }
               else {
                   if (max(limits) > max(b)) 
                     b <- c(b[1] - bd, b)
                   if (min(limits) < min(b)) 
                     b <- c(b, b[length(b)] + bd)
               }
               seq_between <- function(a, b) {
                   seq(a, b, length.out = n + 1)[-(n + 1)]
               }
               breaks <- unlist(Map(seq_between, b[-length(b)], 
                   b[-1]))
               breaks <- c(breaks, b[length(b)])
               breaks
           }, format = function (x) 
           {
               pretty10exp(as.numeric(x), drop.1 = TRUE)
           }, domain = c(-Inf, Inf)), class = "trans"), `FL7-H` = structure(list(
           name = "flowJo_logicle", transform = structure(function (x) 
           x <- logicle_transform(as.double(x), as.double(t), as.double(w), 
               as.double(m), as.double(a), FALSE), type = "logicle"), 
           inverse = structure(function (x) 
           x <- logicle_transform(as.double(x), as.double(t), as.double(w), 
               as.double(m), as.double(a), TRUE), type = "logicle"), 
           breaks = function (x) 
           {
               flow_breaks(x, n = n, equal.space = equal.space, 
                   trans.fun, inverse.fun)
           }, minor_breaks = function (b, limits, n) 
           {
               b <- b[!is.na(b)]
               if (length(b) < 2) 
                   return()
               bd <- diff(b)[1]
               if (!reverse) {
                   if (min(limits) < min(b)) 
                     b <- c(b[1] - bd, b)
                   if (max(limits) > max(b)) 
                     b <- c(b, b[length(b)] + bd)
               }
               else {
                   if (max(limits) > max(b)) 
                     b <- c(b[1] - bd, b)
                   if (min(limits) < min(b)) 
                     b <- c(b, b[length(b)] + bd)
               }
               seq_between <- function(a, b) {
                   seq(a, b, length.out = n + 1)[-(n + 1)]
               }
               breaks <- unlist(Map(seq_between, b[-length(b)], 
                   b[-1]))
               breaks <- c(breaks, b[length(b)])
               breaks
           }, format = function (x) 
           {
               pretty10exp(as.numeric(x), drop.1 = TRUE)
           }, domain = c(-Inf, Inf)), class = "trans"), `FL8-A` = structure(list(
           name = "flowJo_logicle", transform = structure(function (x) 
           x <- logicle_transform(as.double(x), as.double(t), as.double(w), 
               as.double(m), as.double(a), FALSE), type = "logicle"), 
           inverse = structure(function (x) 
           x <- logicle_transform(as.double(x), as.double(t), as.double(w), 
               as.double(m), as.double(a), TRUE), type = "logicle"), 
           breaks = function (x) 
           {
               flow_breaks(x, n = n, equal.space = equal.space, 
                   trans.fun, inverse.fun)
           }, minor_breaks = function (b, limits, n) 
           {
               b <- b[!is.na(b)]
               if (length(b) < 2) 
                   return()
               bd <- diff(b)[1]
               if (!reverse) {
                   if (min(limits) < min(b)) 
                     b <- c(b[1] - bd, b)
                   if (max(limits) > max(b)) 
                     b <- c(b, b[length(b)] + bd)
               }
               else {
                   if (max(limits) > max(b)) 
                     b <- c(b[1] - bd, b)
                   if (min(limits) < min(b)) 
                     b <- c(b, b[length(b)] + bd)
               }
               seq_between <- function(a, b) {
                   seq(a, b, length.out = n + 1)[-(n + 1)]
               }
               breaks <- unlist(Map(seq_between, b[-length(b)], 
                   b[-1]))
               breaks <- c(breaks, b[length(b)])
               breaks
           }, format = function (x) 
           {
               pretty10exp(as.numeric(x), drop.1 = TRUE)
           }, domain = c(-Inf, Inf)), class = "trans"), `FL8-H` = structure(list(
           name = "flowJo_logicle", transform = structure(function (x) 
           x <- logicle_transform(as.double(x), as.double(t), as.double(w), 
               as.double(m), as.double(a), FALSE), type = "logicle"), 
           inverse = structure(function (x) 
           x <- logicle_transform(as.double(x), as.double(t), as.double(w), 
               as.double(m), as.double(a), TRUE), type = "logicle"), 
           breaks = function (x) 
           {
               flow_breaks(x, n = n, equal.space = equal.space, 
                   trans.fun, inverse.fun)
           }, minor_breaks = function (b, limits, n) 
           {
               b <- b[!is.na(b)]
               if (length(b) < 2) 
                   return()
               bd <- diff(b)[1]
               if (!reverse) {
                   if (min(limits) < min(b)) 
                     b <- c(b[1] - bd, b)
                   if (max(limits) > max(b)) 
                     b <- c(b, b[length(b)] + bd)
               }
               else {
                   if (max(limits) > max(b)) 
                     b <- c(b[1] - bd, b)
                   if (min(limits) < min(b)) 
                     b <- c(b, b[length(b)] + bd)
               }
               seq_between <- function(a, b) {
                   seq(a, b, length.out = n + 1)[-(n + 1)]
               }
               breaks <- unlist(Map(seq_between, b[-length(b)], 
                   b[-1]))
               breaks <- c(breaks, b[length(b)])
               breaks
           }, format = function (x) 
           {
               pretty10exp(as.numeric(x), drop.1 = TRUE)
           }, domain = c(-Inf, Inf)), class = "trans"), `FL9-A` = structure(list(
           name = "flowJo_logicle", transform = structure(function (x) 
           x <- logicle_transform(as.double(x), as.double(t), as.double(w), 
               as.double(m), as.double(a), FALSE), type = "logicle"), 
           inverse = structure(function (x) 
           x <- logicle_transform(as.double(x), as.double(t), as.double(w), 
               as.double(m), as.double(a), TRUE), type = "logicle"), 
           breaks = function (x) 
           {
               flow_breaks(x, n = n, equal.space = equal.space, 
                   trans.fun, inverse.fun)
           }, minor_breaks = function (b, limits, n) 
           {
               b <- b[!is.na(b)]
               if (length(b) < 2) 
                   return()
               bd <- diff(b)[1]
               if (!reverse) {
                   if (min(limits) < min(b)) 
                     b <- c(b[1] - bd, b)
                   if (max(limits) > max(b)) 
                     b <- c(b, b[length(b)] + bd)
               }
               else {
                   if (max(limits) > max(b)) 
                     b <- c(b[1] - bd, b)
                   if (min(limits) < min(b)) 
                     b <- c(b, b[length(b)] + bd)
               }
               seq_between <- function(a, b) {
                   seq(a, b, length.out = n + 1)[-(n + 1)]
               }
               breaks <- unlist(Map(seq_between, b[-length(b)], 
                   b[-1]))
               breaks <- c(breaks, b[length(b)])
               breaks
           }, format = function (x) 
           {
               pretty10exp(as.numeric(x), drop.1 = TRUE)
           }, domain = c(-Inf, Inf)), class = "trans"), `FL9-H` = structure(list(
           name = "flowJo_logicle", transform = structure(function (x) 
           x <- logicle_transform(as.double(x), as.double(t), as.double(w), 
               as.double(m), as.double(a), FALSE), type = "logicle"), 
           inverse = structure(function (x) 
           x <- logicle_transform(as.double(x), as.double(t), as.double(w), 
               as.double(m), as.double(a), TRUE), type = "logicle"), 
           breaks = function (x) 
           {
               flow_breaks(x, n = n, equal.space = equal.space, 
                   trans.fun, inverse.fun)
           }, minor_breaks = function (b, limits, n) 
           {
               b <- b[!is.na(b)]
               if (length(b) < 2) 
                   return()
               bd <- diff(b)[1]
               if (!reverse) {
                   if (min(limits) < min(b)) 
                     b <- c(b[1] - bd, b)
                   if (max(limits) > max(b)) 
                     b <- c(b, b[length(b)] + bd)
               }
               else {
                   if (max(limits) > max(b)) 
                     b <- c(b[1] - bd, b)
                   if (min(limits) < min(b)) 
                     b <- c(b, b[length(b)] + bd)
               }
               seq_between <- function(a, b) {
                   seq(a, b, length.out = n + 1)[-(n + 1)]
               }
               breaks <- unlist(Map(seq_between, b[-length(b)], 
                   b[-1]))
               breaks <- c(breaks, b[length(b)])
               breaks
           }, format = function (x) 
           {
               pretty10exp(as.numeric(x), drop.1 = TRUE)
           }, domain = c(-Inf, Inf)), class = "trans")), class = c("transformerList", 
       "list")), group_by = list(treatment = c("ut", "veh", "ivo", 
       "pim", "ivo.pim")), overlay = NA, gate = NA, display = 25000, 
       layout = "", margins = NULL, popup = FALSE, select = NULL, 
       xlim = NA, ylim = NA, xlab = "", ylab = "", title = c("hCD33", 
       "hCD33", "hCD33", "hCD33", "hCD33"), negate = FALSE, density_modal = TRUE, 
       density_smooth = 0.6, density_stack = 0.5, density_layers = NA, 
       density_cols = NA, density_fill = NA, density_fill_alpha = 1, 
       density_line_type = 1, density_line_width = 1, density_line_col = "black", 
       point_shape = ".", point_size = 2, point_col_scale = NA, 
       point_cols = NA, point_col = NA, point_col_alpha = 1, contour_lines = 0, 
       contour_line_type = 1, contour_line_width = 1, contour_line_col = "black", 
       contour_line_alpha = 1, axes_limits = "auto", axes_limits_buffer = 0.03, 
       axes_text = c(TRUE, TRUE), axes_text_font = 1, axes_text_size = 1, 
       axes_text_col = "black", axes_label_text_font = 1, axes_label_text_size = 1.1, 
       axes_label_text_col = "black", title_text_font = 2, title_text_size = 3, 
       title_text_col = "black", legend = FALSE, legend_text = "hCD33", 
       legend_text_font = 1, legend_text_size = 1, legend_text_col = "black", 
       legend_line_type = NA, legend_line_width = NA, legend_line_col = NA, 
       legend_box_fill = NA, legend_point_col = NA, gate_line_type = 1, 
       gate_line_width = 2.5, gate_line_col = "red", gate_fill = "white", 
       gate_fill_alpha = 0, label = "", label_text = NA, label_stat = "", 
       label_position = "auto", label_text_x = NA, label_text_y = NA, 
       label_text_font = 2, label_text_size = 0.8, label_text_col = "black", 
       label_fill = "white", label_fill_alpha = 0.6, border_line_type = 1, 
       border_line_width = 1, border_line_col = "black", border_fill = "white", 
       border_fill_alpha = 1)
3: do.call("cyto_plot.flowSet", args)
2: cyto_plot.GatingSet(gs_160345, channels = "FL2-H", parent = "hCD33", 
       group_by = list(treatment = c("ut", "veh", "ivo", "pim", 
           "ivo.pim")), density_stack = 0.5, title_text_size = 3)
1: cyto_plot(gs_160345, channels = "FL2-H", parent = "hCD33", group_by = list(treatment = c("ut", 
       "veh", "ivo", "pim", "ivo.pim")), density_stack = 0.5, title_text_size = 3)
DillonHammill commented 3 years ago

@northNomad, was it the first layer that contained no events? If so, cyto_plot() doesn't currently support this as the first layer is required to compute axes limits for stacking. 1D plots are getting a complete overhaul in the new update so I will see if I can address this better there.

northNomad commented 3 years ago

@DillonHammill Yes, it's the first sample in the gating set (it' was an unstained control that's why no cells passed all the gates).

northNomad commented 3 years ago

Looking forward to it! You are a legend.

DillonHammill commented 3 years ago

OK I will close this issue for now then. You can reopen it if the issue persists when the new update is released.