2013-06-20 3 views
21

아래의 예는 네 개의 창에 4 개의 그룹을 함께 표시합니다. 그러나 문제는 그것들이 하나의 그리드에 존재하는 것 같습니다. 반짝이는 출력으로 차트의 크기를 제어 할 수 있습니까? (즉, 응용 프로그램이 실행될 때 오른쪽에 스크롤 막대가 없음) 높이와 너비를 제어하려했지만 그리드 자체 내에서 이미지를 제어하는 ​​것처럼 보였습니다 ... 어떤 아이디어입니까?반짝이는 차트 공간 할당

감사

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) 


}) 

답변

29

plotOutput 아니라 높이와 폭 파라미터를 갖는다; 너비는 기본적으로 "100%" (컨테이너에서 사용 가능한 너비의 100 %를 의미)이며 높이는 기본적으로 "400px" (400 픽셀)입니다. 이 값을 실험하여 "auto" 또는 "1000px" 중 하나로 변경하십시오.

renderPlot의 height 및 width 매개 변수는 생성 된 이미지 파일의 크기를 픽셀 단위로 제어하지만 웹 페이지의 렌더링 크기에 직접적인 영향을주지 않습니다. 기본값은 "auto"이며 해당하는 plotOutput의 너비/높이를 감지하여 사용합니다. 따라서 너비와 높이를 plotOutput에 설정하면 일반적으로 너비와 높이가 renderPlot으로 설정 될 필요가 없습니다.

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

출력을 제어하는 ​​'navbarPage'가있는 경우 어떻게해야합니까? 따라서 조작 할'plotOutput '이 없습니까? http://stackoverflow.com/questions/30179621/how-can-i-display-my-plot-without-toolbars-in-shiny –

+0

감사합니다. Joe 님, 자동차가 제대로 작동하지 않는 것 같습니다. Chrome에서는 'plotOutput ("screenplot", width = "100 %", height = "auto")'및 차트가 표시되지 않습니다. 나는 높이를 위해 "auto"또는 "100 %"를 사용하는 것이 HTML/CSS로 높이를 계산하는 방법 때문에 일반적으로 예상대로 작동하지 않는다는 점에 유의하십시오. * 고정 된 높이 이외에 지금 추천 할 수있는 것은 무엇입니까? ? 감사 – micstr

관련 문제