2016-07-28 4 views
0

Я пытаюсь построить gauge plot в ShinyDashBoard, и я вижу две проблемы.flexdashboard: габаритный участок не отображается на ShinyDashBoard и развращает ValueBox

1) Датчик участок не оказывает

2) Это как-то портит ValueBox в приборной панели.

Ниже приведен код для повторения этой проблемы.

library(shiny) 
library(shinydashboard) 
#library(flexdashboard) 


ui <-dashboardPage(
    dashboardHeader(), 
    dashboardSidebar(), 
    dashboardBody(
    fluidRow(
     valueBoxOutput("vbox1"), 
     column(6,box(plotOutput("plt1"),width=12,title="Gauge Graph",background ="green")), 
     column(6,box(plotOutput("plt2"),width=12,title="Graph2",background="yellow")) 
    ), 
    fluidRow(actionButton("plot","plot")) 
) 
) 

server <- shinyServer(function(input, output, session) { 
    observeEvent(input$plot,{ 
    output$plt1 <- renderPlot({ 
     flexdashboard::gauge(56, min = 0, max = 100, symbol = '%', label = paste("Test Label"),gaugeSectors(
     success = c(100, 6), warning = c(5,1), danger = c(0, 1), colors = c("#CC6699") 
    )) 

    }) 
    output$plt2 <- renderPlot({plot(runif(100),runif(100))}) 
    }) 

    output$vbox1 <- renderValueBox({ 
    valueBox(
     "Gender", 
     input$count, 
     icon = icon("users") 
    ) 
    }) 
}) 

shinyApp(ui = ui, server = server) 

Также участки генерируется с использованием plotly библиотеки :-( Любая помощь по решению этого вопроса очень ценится. Спасибо заранее.

+0

Вы нашли какие-либо решения? – user3463225

ответ

0

Я столкнулся с той же проблемой!

Это UI вещь - посмотрите на свой код при вызове вывода сервера. Вы должны использовать flexdashboard::gaugeOutput("plt1") вместо plotlyOutput. Это должно решить проблему.

Код: https://cran.r-project.org/web/packages/flexdashboard/flexdashboard.pdf (т.е. просто страница пакета flexdashboard).

-1

1.In UI

column(6,box(gaugeOutput("plt1"),width=12,title="Gauge Graph",background ="green")) 

В сервере

output$plt1 <- renderGauge({ 
     flexdashboard::gauge(56, min = 0, max = 100, symbol = '%', label = paste("Test Label"),gaugeSectors(
     success = c(100, 6), warning = c(5,1), danger = c(0, 1), colors = c("#CC6699") 
    )) 
    }) 

2.

output$vbox1 <- renderValueBox({ 
    shinydashboard::valueBox(
     "Gender", 
     input$count, 
     icon = icon("users") 
    ) 
    })