Closed danielcanueto closed 1 year ago
Can you post a working example please?
Here there is an example:
heatmaply(heatmapr(matrix(rnorm(5000),100,50))) heatmaply(heatmapr(matrix(rnorm(5000),100,50)),height=600,width=800)
You can adjust the size of the heatmap here:
heatmaply(heatmapr(matrix(rnorm(5000),100,50))) %>% layout(height=600,width=800)
# Warning message:
# Specifying width/height in layout() is now deprecated.
# Please specify in ggplotly() or plot_ly()
I can have a look into passing the arguments in correctly, but this should work for now.
fyi, width
and height
in heatmapr()
currently do nothing.
Problem solved with layout option. Thank you for the quick reply.
@danielcanueto just going to keep this issue open so I can make the package use the width and height arguments correctly, feel free to unfollow the issue if you want
@Alanocallaghan using the layout option to specify the height and width works, but the margins=c(l,r,t,b) respond differently or not at all. Why do you think that is?
Can you post an example?
It seems like the use of the plotly::layout
function to set width
and height
parameters is being deprecated in plotly. For example, the following example leads to the warning shown below:
library(heatmaply)
heatmaply(iris[,-5], k_row = 3, k_col = 2) %>%
layout(width = 500)
causes
Warning message:
Specifying width/height in layout() is now deprecated.
Please specify in ggplotly() or plot_ly()
> sessionInfo()
R version 3.4.3 Patched (2017-12-05 r73849)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS High Sierra 10.13.3
Matrix products: default
BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] heatmaply_0.14.1 viridis_0.5.0 viridisLite_0.3.0 plotly_4.7.1.9000
[5] ggplot2_2.2.1.9000 BiocInstaller_1.28.0 devtools_1.13.5
loaded via a namespace (and not attached):
[1] httr_1.3.1 tidyr_0.8.0 jsonlite_1.5 foreach_1.4.4
[5] gtools_3.5.0 shiny_1.0.5 assertthat_0.2.0 stats4_3.4.3
[9] yaml_2.1.18 robustbase_0.92-8 pillar_1.2.1 lattice_0.20-35
[13] glue_1.2.0 digest_0.6.15 RColorBrewer_1.1-2 colorspace_1.3-2
[17] htmltools_0.3.6 httpuv_1.3.6.2 plyr_1.8.4 pkgconfig_2.0.1
[21] xtable_1.8-2 purrr_0.2.4 mvtnorm_1.0-7 scales_0.5.0.9000
[25] webshot_0.5.0 gdata_2.18.0 whisker_0.3-2 tibble_1.4.2
[29] withr_2.1.2 nnet_7.3-12 lazyeval_0.2.1 mime_0.5
[33] magrittr_1.5 mclust_5.4 memoise_1.1.0 MASS_7.3-49
[37] gplots_3.0.1 class_7.3-14 Cairo_1.5-9 tools_3.4.3
[41] registry_0.5 data.table_1.10.4-3 trimcluster_0.1-2 stringr_1.3.0
[45] kernlab_0.9-25 munsell_0.4.3 cluster_2.0.6 fpc_2.1-11
[49] bindrcpp_0.2 compiler_3.4.3 caTools_1.17.1 rlang_0.2.0.9001
[53] grid_3.4.3 iterators_1.0.9 htmlwidgets_1.0 crosstalk_1.0.0
[57] bitops_1.0-6 labeling_0.3 gtable_0.2.0 codetools_0.2-15
[61] flexmix_2.3-14 TSP_1.1-5 reshape2_1.4.3 R6_2.2.2
[65] seriation_1.2-3 gridExtra_2.3 prabclus_2.2-6 dplyr_0.7.4
[69] bindr_0.1.1 KernSmooth_2.23-15 dendextend_1.7.0 modeltools_0.2-21
[73] stringi_1.1.7 Rcpp_0.12.16 gclus_1.3.1 DEoptimR_1.0-8
[77] diptest_0.75-7
Hi @tomsing1, yep I think this was still the case last year (at least I noted a deprecation message above). Unfortunately I don't think one can easily specify the size of subplot
ed figures.
You can specify width and height when you plot to a file with the plotly::export
function.
Borrowing @tomsing1's example:
library(heatmaply)
h <- heatmaply(iris[, -5])
h$width <- 400
h$height <- 1200
export(h, file = "scaled_iris.png")
Ubuntu 16.04; R 3.4.2; heatmaply_0.14.1; plotly_4.7.1
Controlling file size on export is already supported in heatmaply.
export package:plotly R Documentation
Export a plotly graph to a static file
Description:
Export a plotly graph to a static file
I guess the way to fix this without angering the plotly gods is to specify width and height based on subplot_widths/heights and the total width/height argument, which is going to be... interesting.
Hi,
I'm performing interactive heatmaps with dozens of observations and features for a Shiny app. There was a change after March/April that stopped making the heatmap adapt to the size of the Shiny app window. It is very difficult to analyze the heatmap patterns in such a small heatmap. I try to change the width and height in the heatmapr function, but it doesn't seem to work.
Thank you for the reply.
Daniel