[问题] 如何在shiny app中控制ggplot facet_wrap的个别高度?

楼主: emily40830 (Qiqi)   2018-06-07 01:12:34
[问题类型]:
程式咨询(我想用R 做某件事情,但是我不知道要怎么用R 写出来)
[软件熟悉度]:
使用者(已经有用R 做过不少作品)
[问题叙述]:
最近在写shiny app 有一个问题一直没办法解决
就是我利用ggplot 的facet_wrap 将每组资料 print出来
但是由于每次筛选出来的组数都不同
然而在设定图片高度的地方好像是在ui的plotOutput就已经固定了
导致每次出来的图总高度都会一样
如果组数多的就会压缩在同样的高度里
因此想问要如何在shiny当中使每次print出来的图
每组的高度是固定的 组数越多图就越长
我有在stackoverflow找到相似的问题如下
https://stackoverflow.com/questions/18683370/control-ggplot2-facet-height-independently-from-number-of-row-facets
回答者是说用knit就可以直接改fig.height
但是shiny app是用R档写的 好像不能用knit
所以想上来问问大家 有没有什么解决的方法
亦或者是改成shinydashboard之类的就有方法可以解决?
[程式范例]:
由于程式码过长,我用截图示意问题
这是当资料只有一组时,高度就会整个拉很长
https://imgur.com/a/Xdre2ac
多组的时候,又都会挤在一起(图中示意的是六组)
https://imgur.com/a/EJdKNdt
[环境叙述]:
> sessionInfo()
R version 3.4.3 (2017-11-30)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: OS X El Capitan 10.11.6
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] zh_TW.UTF-8/zh_TW.UTF-8/zh_TW.UTF-8/C/zh_TW.UTF-8/zh_TW.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] lubridate_1.7.4 forcats_0.2.0 stringr_1.3.1 purrr_0.2.5 readr_1.1.1
[6] tidyr_0.8.1 tibble_1.4.2 tidyverse_1.2.1 bindrcpp_0.2.2 knitr_1.20
[11] ggplot2_2.2.1 dplyr_0.7.5 shiny_1.0.5
[关键字]:
shiny ggplot facet_wrap
作者: HumuHumu (呼姆呼姆)   2018-06-07 01:15:00
uiOutput+renderUI
作者: cywhale (cywhale)   2018-06-07 09:38:00
plotOutput() 可以设height 可以设计一个reactiveValues(figH=DefaultHigh), 之后这个$figH随着你的图数改变在plotOutput(..,height=paste0(..$figH, "px")即可

Links booklink

Contact Us: admin [ a t ] ucptt.com