我想在ShinyDashBoard中绘制gauge plot,我看到两个问题。
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 :(得分:1)
我遇到了同样的问题!
这是一个UI事物 - 在调用服务器输出时查看代码。您需要使用flexdashboard::gaugeOutput("plt1")
代替plotlyOutput
。这应该可以解决问题。
参考:https://cran.r-project.org/web/packages/flexdashboard/flexdashboard.pdf (即只是flexdashboard包页面。)
答案 1 :(得分:-1)
1.在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")
)
})