我问了a question关于如何根据用户交互动态绘制,其解决方案 在我的机器上运行良好。
现在我想制作一个在线版本并用Shiny 托管它。 .
我试图将代码放入 server.R
并在 reactivePlot()
中调用 iden()
函数,但是部分identify()
不生效。
那么,关于这个任务有什么提示吗?
最佳答案
试试这个 gallery item.它使用 ggvis 以 Shiny 的方式实现这一目标。
万一画廊消失了,这里有一些最小的代码会产生一个工具提示,类似于 identify()
,使用 ggvis。
require(ggvis)
mtcars$model<-rownames(mtcars)
mtcars %>% ggvis(~wt, ~mpg,key:=~model) %>%
layer_points() %>%
add_tooltip(function(df) df$model)
还有一个更完整但仍然是最小的示例:
require(shiny)
require(ggvis)
mtcars$model<-rownames(mtcars)
shinyApp(
ui = fluidPage(
sidebarLayout(
sidebarPanel(h2("GGVis to Identify Points")),
mainPanel(ggvisOutput("carsplot"))
)
),
server = function(input, output) {
vis <- reactive({
mtcars %>% ggvis(~wt, ~mpg,key:=~model) %>%
layer_points() %>%
add_tooltip(function(df) df$model)
})
vis %>% bind_shiny("carsplot")
}
)
关于javascript - 使用D3和Shiny在R中实现 `identify()`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13782803/