#r #shiny #gauge #googlevis
#r #блестящий #датчик #googlevis
Вопрос:
Я пытаюсь отобразить простой датчик, используя библиотеку googleVis в R Shiny.
Однако единственное, что я могу отобразить, — это пустое пространство, соответствующее ширине и высоте НЕВИДИМОГО датчика. (У меня похожее изображение, где я даже не могу получить изображения для отображения с помощью renderImage. Таким образом, два сбоя могут быть связаны.)
Любые мысли о том, как исправить приведенный ниже код, будут высоко оценены:
С сервера.R:
output$gauge <- renderGvis({
M0 <- matrix(c('Label','Value'),ncol=2,byrow=TRUE)
M1 <- matrix(c('IRR',4),ncol=2,byrow=TRUE)
MU <- rbind(M0,M1)
df <- as.data.frame(MU)
gvisGauge(df,
options=list(min=0, max=10, greenFrom=8,
greenTo=10, yellowFrom=6, yellowTo=8,
redFrom=0, redTo=6, width=300, height=300));
})
Из ui.R:
uiOutput("gauge")
Спасибо,
Чад
Комментарии:
1.
Your data.frame
указано неправильно.2. Спасибо, JD. У вас есть пример правильного способа настройки data.frame? Основываясь на документации, которую я нашел, я должен вставить матрицу два на два в «as.data.frame», где верхняя строка — «Метка» и «Значение», а вторая строка — фактическая метка и фактическое значение.
Ответ №1:
Ваш data.frame
был указан неправильно
> M0 <- matrix(c('Label','Value'),ncol=2,byrow=TRUE)
> M1 <- matrix(c('IRR',4),ncol=2,byrow=TRUE)
> MU <- rbind(M0,M1)
> df <- as.data.frame(MU)
> df
V1 V2
1 Label Value
2 IRR 4
library(shiny)
library(googleVis)
runApp(list(
ui = bootstrapPage(
numericInput('n', 'Number of obs', 4, 1, 10),
htmlOutput("view")
),
server = function(input, output) {
output$view <- renderGvis({
df <- data.frame(Label = "IRR", Value = input$n)
gvisGauge(df,
options=list(min=0, max=10, greenFrom=8,
greenTo=10, yellowFrom=6, yellowTo=8,
redFrom=0, redTo=6, width=300, height=300));
})
}
))
Комментарии:
1. Потрясающе. Кроме того, одна из проблем заключалась в том, что я использовал uiOutput вместо htmlOutput.