我想添加包含所有变量的工具提示。但是当我使用此代码时,我收到以下错误:
handlers$add(handler, key, tail) 中的错误:键/已在使用中
如果我不使用add_tooltip
情节创建没有任何问题。
(add_tooltip 在 server.R 的底部附近)
请帮忙,我真的很沮丧。
我正在使用以下ui和服务器创建一个闪亮的应用程序:
ui.R:
library(ggplot2)
library(ggvis)
library(shiny) # load shiny at beginning at both scripts
shinyUI(fluidPage( # standard shiny layout, controls on the
# left, output on the right
titlePanel("Relative Velocity vs Distance Gap"), # give the interface a title
sidebarLayout(position="right",
sidebarPanel( # all the UI controls go in here
radioButtons(inputId = 'dfid', label = h4("Select Data:"),
choices = c("Coordinate Approach",
"Sum Approach")),
selectInput(inputId="vid", label=h4("Select Vehicle ID:"), choices = vehid)
),
mainPanel( # all of the output elements go in here
h3("Plot"), # title with HTML helper
plotOutput("plot") # this is the name of the output
# element as defined in server.R
)
)
))
服务器.R:
library(ggvis)
library(shiny) # load shiny at beginning at both scripts
shinyServer(function(input, output) { # server is defined within
# these parentheses
new.data <- reactive({switch(input$dfid, "Coordinate Approach"=df1, "Sum Approach"=df2)})
output$plot <- renderPlot({
new.data <- subset(new.data(), new.data()$Vehicle.ID==input$vid)
tittle <- unique(new.data$Vehicle.class)
mtc <- new.data
mtc$id <- 1:nrow(mtc)
all_values <- function(x) {
if(is.null(x)) return(NULL)
row <- mtc[mtc$id == x$id, ]
paste0(names(row), ": ", format(row), collapse = "<br />")
}
mtc %>% ggvis(x = ~relative.v, y = ~gap.dist, key:=~id) %>%
layer_points() %>%
add_tooltip(all_values, "hover")
#ggplot(data= new.data, mapping = aes(x=relative.v, y=gap.dist, color=as.factor(p))) +
# geom_point() + ggtitle(tittle) + labs(x='Relative Velocity (ft/s)', y='Gap (feet)') + theme_bw() #+ my.theme()
})
})
另一个不相关的问题是,当我运行应用程序时,闪亮的应用程序在窗口中运行,但在查看器窗格中创建了 ggvis 图。
如何在 Shiny 应用程序的窗口中渲染绘图?