У меня есть скрипт d3.js как R.js, отлично работающий, когда я запускаю опцию предварительного просмотра, но я не могу правильно запустить его в RShiny.Входные данные не перерисовывают выходные данные, а цвета не такие, как я их установил в js.У меня есть датафрейм с несколькими столбцами, и я хочу выбрать столбцы на основе пользовательского ввода для подачи в вызов функции R2D3 в RShiny, который вызовет d3.js.
--- У меня есть CSV с идентификатором в одном столбце (который всегда будет извлечен) и значением для всех остальных столбцов, даже если они изначально обозначают такие значения, как «радиус планеты» и т. Д... так что мне не нужно иметь дело с изменением имен столбцов.
Этот код ниже - только последняя итерация того, что я пробовал.До этого я много раз пытался создать отдельный реактивный блок для установки входной переменной в переменную df, которая позже будет вызываться при вызове функции r2d3 с помощью df ().Я нахожусь вне вариантов и в данный момент.
Есть ли что-то, чего мне не хватает в скрипте d3js или в Rshiny?Я настроил скрипт в пользовательском интерфейсе с помощью includeScript (), как я видел в других постах.
скрипт d3, который я использую, находится здесь: https://rstudio.github.io/r2d3/articles/gallery/bubbles/
I 'Я попробовал все в моей рубке (что немного), я имею в виду буквально 20 часов, потраченных на это, и я не могу заставить его работать.
library(shiny)
library(r2d3)
planets <- read.csv("grouped.csv")
columnList = c("Orbital Period [days]", "Orbital Semi-Major Axis [AU]",
"Eccentricity", "Planet Mass [Earths]",
"Planet Radius [Earths]", "Optical Magnitude", "Distance From
Earth [Parsecs]", "Planet Density [g/cm3]")
ui <- fluidPage(
includeScript(path = "bubbs1.js"),
selectInput(inputId = "two", label = "Data Field", choices = columnList, selected = "Distance From Earth [Parsecs]"),
d3Output("d3")
)
server <- function(input, output) {
output$d3 <- renderD3({
if (input$two == "Orbital Period [days]"){
r2d3(data = planets[,c(10,3)], script = "bubbs1.js", d3_version = "4")
}
if (input$two == "Orbital Semi-Major Axis [AU]"){
r2d3(data = planets[,c(10,4)], script = "bubbs1.js", d3_version = "4")
}
if (input$two == "Eccentricity"){
r2d3(data = planets[,c(10,5)], script = "bubbs1.js", d3_version = "4")
}
if (input$two == "Planet Mass [Earths]"){
r2d3(data = planets[,c(10,6)], script = "bubbs1.js", d3_version = "4")
}
if (input$two == "Planet Radius [Earths]"){
r2d3(data = planets[,c(10,7)], script = "bubbs1.js", d3_version = "4")
}
if (input$two == "Optical Magnitude"){
r2d3(data = planets[,c(10,8)], script = "bubbs1.js", d3_version = "4")
}
if (input$two == "Distance From Earth [Parsecs]"){
r2d3(data = planets[,c(10,9)], script = "bubbs1.js", d3_version = "4")
}
r2d3(data = planets[,c(10,9)], script = "bubbs1.js", d3_version = "4")
})
}
shinyApp(ui = ui, server = server)
Во-первых, я просто хочу, чтобы реактивность в выпадающем меню работала, и я спроектирую все остальное, если вы сможете мне помочь с этой функциональностью.В конце концов, я хочу, чтобы он был интерактивным (при нажатии такие функции, как пузырь, изменяют цвет, отображают текстовое поле вывода).