2014-11-06 3 views
18

Pencerenin yüksekliğine parlak bir çizim ölçeklemek istiyorum. Bu related SO question sadece height = 100% tercih edilebileceği zaman piksel cinsinden mutlak yükseklik özelliklerini kullanır. Bu belgede absolutePanel'un top, bottom, left, right argümanlarıyla bunu başarabileceğine dikkat edin, ancak sonra yan paneli kaybedersiniz ve her durumda çizim (genişlik için ölçeklendirme) kullanılabilir yüksekliği yok sayıyor gibi görünür.Pencerenin yüksekliğine kadar parlak grafikleri ölçekleme

Bunun jtmacript innerHeight değişkeni ile yüksekliği almanız gerektiği anlamına gelen html quirk ile ilgili olduğunu tahmin ediyorum. Ama bunu kullanmak için ui.R'u almak için parlak bir çözümün nasıl uygulanacağından emin değilim. Herhangi bir işaretçi için minnettar.

gelişimi için temel bir uygulama modeli:

ui.R

library(shiny) 
shinyServer(
    function(input, output) { 
    output$myplot <- renderPlot({ 
     hist(rnorm(1000)) 
    }) 
    } 
) 

server.R

library(shiny) 
pageWithSidebar(
    headerPanel("window height check"), 
    sidebarPanel(), 
    mainPanel(
    plotOutput("myplot") 
) 
) 

cevap

22

Kullanım CSS3. Yüksekliğini viewport birimleri http://caniuse.com/#feat=viewport-units olarak bildirin.

library(shiny) 
runApp(
    list(server= function(input, output) { 
    output$myplot <- renderPlot({ 
     hist(rnorm(1000)) 
    }) 
    } 
    , ui = pageWithSidebar(
    headerPanel("window height check"), 
    sidebarPanel(
     tags$head(tags$style("#myplot{height:100vh !important;}")) 
    ), 
    mainPanel(
     plotOutput("myplot") 
    ) 
) 
) 
) 

ama parlak tarayıcıda Bu alışkanlık çalışma düzgün çalışması gerekir: Sen bunun yerine bir stil başlığında bunları ilan edebilir böylece onları tanımak doesnt ancak plotOutput yılında shiny::validateCssUnitheight argümanı kullanarak bunları yayınlama gerekir ana tarayıcı

enter image description here

+0

Nokta üzerinde, teşekkür John – geotheory

+0

Ben navbarPage' CSS çalışmak için görünmektedir olamaz 'kullanıyorum beri benzer bir sorun olan fakat ediyorum http://stackoverflow.com/questions/30179621/how-can-i-display-araçsız-araçsız-parlak- –

+0

Bu yaklaşımı deniyordum ama içinde belirttiğim yüksekliği geçersiz kılan bir "height = 400px" var. 'tag' işlevi. Herhangi bir ipucu? – TheComeOnMan