2013-06-20 28 views
21

Aşağıdaki örnek 4 panta birlikte 4 grup çizmektedir. Ama sorun şu ki, tek bir ızgarada kalıyor gibi görünüyorlar. Grafiklerin boyutunu parlak çıktıda kontrol etmek mümkün mü? (yani, uygulama çalıştırıldığında sağda kaydırma çubuğu bulunmaması için), yüksekliği ve genişliği kontrol etmeye çalıştım, ancak bu sadece ızgara içindeki görüntüyü kontrol ediyor gibi görünüyor ... herhangi bir fikir?Parlak Grafik Alan Tahsisi

sayesinde

shinyUI(pageWithSidebar(
    headerPanel("Example"), 
    sidebarPanel( 

), 

    mainPanel(
    tabsetPanel(tabPanel("Main",plotOutput("temp")) 

    )#tabsetPanel 

)#mainPane; 

)) 



shinyServer(function(input, output) { 

    output$temp <-renderPlot({ 
    par(mfrow=c(2,2)) 
    plot(1:10) 
    plot(rnorm(10)) 
    plot(rnorm(10)) 
    plot(rnorm(10)) 
    }, height = 1000, width = 1000) 


}) 

cevap

29

plotOutput hem de yükseklik ve genişlik parametreleri vardır; genişlik varsayılan değeri "100%" (kapsayıcısında kullanılabilir genişliğin% 100'ü anlamına gelir) ve yükseklik varsayılan olarak "400px" (400 piksel) olur. Bu değerlerle denemeyi deneyin ve bunları "auto" veya "1000px" olarak değiştirin.

renderPlot 'un yükseklik ve genişlik parametreleri, oluşturulan görüntü dosyasının boyutunu piksel cinsinden kontrol eder, ancak web sayfasındaki görüntülenen boyutu doğrudan etkilemez. Varsayılan değerleri "auto"'dir, yani ilgili plotOutput'un genişliğini/yüksekliğini algılar ve kullanır. Bu nedenle, plotOutput genişliğini ve yüksekliğini ayarladığınızda, genellikle renderPlot'da ayarlanacak genişliğe ve yüksekliğe ihtiyacınız olmaz.

shinyUI(pageWithSidebar(
    headerPanel("Example"), 
    sidebarPanel( 

), 

    mainPanel(
    tabsetPanel(tabPanel("Main",plotOutput("temp", height = 1000, width = 1000)) 

    )#tabsetPanel 

)#mainPane; 

)) 



shinyServer(function(input, output) { 

    output$temp <-renderPlot({ 
    par(mfrow=c(2,2)) 
    plot(1:10) 
    plot(rnorm(10)) 
    plot(rnorm(10)) 
    plot(rnorm(10)) 
    }) 


}) 
+0

Çıktımı denetleyen navbarPage'im varsa ve bu yüzden hiçbir "plotOutput" işlememediğim durumda ne yapabilirim? http://stackoverflow.com/questions/30179621/how-can-i-display-my-plot-without-toolbars-in-shiny –

+0

Teşekkürler Joe, otomatik şimdi iyi çalışmıyor gibi gözüküyor. plotOutput ("screenplot", width = "100%", height = "auto") 'ifadelerini kullanarak ve Chrome'da hiçbir grafik gösterilmiyor. Yardımda görüyorum * "Not: Yükseklik için" auto "veya" 100% "tuşlarının kullanılması, genellikle HTML/CSS ile nasıl hesaplandığından dolayı beklendiği gibi çalışmayacaktır" * Sabit yüksekliklerin yanında şimdi ne tavsiye edersiniz? ? Teşekkürler – micstr