看板 R_Language 關於我們 聯絡資訊
[問題類型]: 程式諮詢(我想用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 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.166.127.216 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1528305157.A.203.html
HumuHumu: uiOutput+renderUI 06/07 01:15
cywhale: plotOutput() 可以設height 可以設計一個reactiveValues( 06/07 09:38
cywhale: figH=DefaultHigh), 之後這個$figH隨著你的圖數改變 06/07 09:41
cywhale: 在plotOutput(..,height=paste0(..$figH, "px")即可 06/07 09:42
cywhale: 更正一下,寫在plotOuput會有奇怪的結果產生 要寫在 06/07 23:41
cywhale: renderPlot 像是 https://goo.gl/LWVnRf 討論串這樣 06/07 23:42
cywhale: 而且怪是height= myHeight_func 還不可以有()..會有error 06/07 23:43
謝謝你~目前有找到相似的解決方法了~附上連結https://stackoverflow.com/questions/34792998/shiny-variable-height-of-renderplot ※ 編輯: emily40830 (114.36.177.247), 06/10/2018 15:19:40 是說 cywhale你貼的那個討論串之前我也有查到過,後來發現我卡住的原因在於reactive的物件不能直接在output的其他function使用 要先將他指定給一個新的變數後才能做後續的動作~ ※ 編輯: emily40830 (114.36.177.247), 06/10/2018 15:23:15