【问题标题】:How to display two gvis gauge meters side by side using Shiny R如何使用 Shiny R 并排显示两个 gvis 仪表
【发布时间】:2014-12-17 16:46:39
【问题描述】:

我正在开发闪亮的应用程序,我正在尝试使用 gvisGauge 显示基线和模型准确性。

我已经成功地将它们显示在单独的选项卡面板中,也可以在同一个选项卡面板中的一个下方显示。

但我想并排显示它们,即在同一选项卡中水平对齐。我怎样才能做到这一点?尝试搜索选项,但找不到任何选项。

截至目前,我的示例代码如下

ui.R

library(shiny)
library(googleVis)

shinyUI(fluidPage(
  titlePanel('Guage'),
  sidebarLayout(
    sidebarPanel(
      numericInput('n1', 'Enter your Base Accuracy', 40, 0.5, 100),


      numericInput('n2', 'Enter your Model Accuracy', 40, 0.5, 100)
    ),
    mainPanel(
      tabsetPanel(
      tabPanel("Accuracy Guage",htmlOutput("view1"),htmlOutput("view2"))
    )
  )
)))

服务器.R

library(shiny)
library(googleVis)

shinyServer(function(input, output) {

  output$view1 <- renderGvis({
    df1 <- data.frame(Label = "Base Accuracy", Value = input$n1)
    gvisGauge(df1,
              options=list(min=0, max=100, greenFrom=90,
                           greenTo=100, yellowFrom=75, yellowTo=89.99,
                           redFrom=0, redTo=74.99, width=300, height=300));  

})

output$view2 <- renderGvis({
  df2 <- data.frame(Label = "Model Accuracy", Value = input$n2)
  gvisGauge(df2,
            options=list(min=0, max=100, greenFrom=90,
                         greenTo=100, yellowFrom=75, yellowTo=89.99,
                         redFrom=0, redTo=74.99, width=300, height=300));  

})


})

【问题讨论】:

  • 我做了一些修改,但我只能猜测您的代码。代码你确保你的代码摘录是准确的,那个 cmets 是 cmets 等等?
  • Gregor,那不是实际代码。我刚刚给出了流程。我将根据要求发布确切的可重现代码,以便更多理解。
  • 用实际代码编辑过,能帮忙吗?

标签: r shiny googlevis


【解决方案1】:

您可以使用 column 指定布局,也可以使用 div 并使用 tags$style 并使用 display:inline-block

rm(list = ls())
library(shiny)
library(googleVis)

ui =(fluidPage(
  titlePanel('Guage'),
  sidebarLayout(
    sidebarPanel(
      numericInput('n1', 'Enter your Base Accuracy', 40, 0.5, 100),


      numericInput('n2', 'Enter your Model Accuracy', 40, 0.5, 100)
    ),
    mainPanel(
      tabsetPanel(
        tabPanel("Accuracy Guage",
                 column(4,htmlOutput("view1")),
                 column(4,htmlOutput("view2"))
      )
    )
  ))))
server = function(input, output) {

  output$view1 <- renderGvis({
    df1 <- data.frame(Label = "Base Accuracy", Value = input$n1)
    gvisGauge(df1,
              options=list(min=0, max=100, greenFrom=90,
                           greenTo=100, yellowFrom=75, yellowTo=89.99,
                           redFrom=0, redTo=74.99, width=300, height=300));  

  })

  output$view2 <- renderGvis({
    df2 <- data.frame(Label = "Model Accuracy", Value = input$n2)
    gvisGauge(df2,
              options=list(min=0, max=100, greenFrom=90,
                           greenTo=100, yellowFrom=75, yellowTo=89.99,
                           redFrom=0, redTo=74.99, width=300, height=300));  

  })
}
runApp(list(ui = ui, server = server))

【讨论】:

    猜你喜欢
    • 2021-12-03
    • 1970-01-01
    • 2019-09-20
    • 2018-10-09
    • 1970-01-01
    • 1970-01-01
    • 2020-10-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多