2014-12-17 4 views
0

Я работаю над блестящим приложением, где я пытаюсь отобразить базовую линию и точность модели с помощью gvisGauge.Как отобразить два gvis-счетчика рядом друг с другом с помощью Shiny R

Мне удалось показать их в отдельных вкладках, а также в одной и той же вкладке один под другим.

Но я хочу показать их бок о бок в горизонтальном выравнивании на той же вкладке. Как я могу это достичь? Пробовал поиск параметров, но не смог получить.

В настоящее время, мой пример кода, как показано ниже

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")) 
    ) 
) 
))) 

server.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)); 

}) 


}) 
+0

Я внес некоторые изменения, но я могу только догадываться о вашем коде. Код, удостоверяющий, что ваши фрагменты кода точны, комментарии являются комментариями и т. Д.? – Gregor

+0

Грегор, это не фактический код. Я только что дал поток. Я напишу точный воспроизводимый код, как вам требуется, для большего понимания. – maddy

+0

Отредактировано с фактическим кодом, не могли бы вы помочь? – maddy

ответ

0

Вы можете использовать колонку, чтобы указать расположение или вы можете использовать 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)) 
+0

Большое спасибо! – maddy