2016-05-08 10 views
0

光沢のあるモジュールを使い始めていて、ggvisプロットにホバーツールチップを使ってテキストを表示できません。これは、モジュールなしでコードを書くときには問題ありません。任意のアイデアをありがとう。あなたはモジュールを使用していますが、uiserver機能にモジュールを移動する必要があればわからないR光沢のあるモジュール - ggvisプロットのツールチップをホバー

library(shiny) 
library(ggvis) 
library(dplyr) 

plotModUI <- function(id){ 
     ns = NS(id) 
     tagList(
       selectInput(ns("group"), "Select Group", choices=c("Group A", "Group B"), selected="Group A"), 
       ggvisOutput("ggvisplot") 
     ) 
} 

plotMod <- function(input, output, session, data){ 
     groupDat <- reactive({ 
       data %>% filter(group==input$group) 
     }) 
     hoverText = function(x){ 
       paste0("(", format(x$xvar, digits=2), ", ", format(x$yvar, digits=2), ")") 
     } 
     observe({ 
       groupDat() %>% ggvis(~xvar, ~yvar) %>% layer_points() %>% 
         add_tooltip(hoverText, "hover") %>% bind_shiny("ggvisplot") 
     }) 
} 

ui <- fillPage(
     plotModUI("example") 
) 

server <- function(input, output, session){ 
     exdat = data.frame(xvar=runif(100), yvar=rnorm(100), group=c(rep("Group A", 50), rep("Group B", 50))) 
     callModule(plotMod, "example", exdat) 
} 

shinyApp(ui, server) 

答えて

0

が働いているように見える:提案のための

ui <- fillPage(
    selectInput("group", "Select Group", choices=c("Group A", "Group B"), selected="Group A"), 
    ggvisOutput("ggvisplot") 
) 

server <- function(input, output, session){ 
    exdat = data.frame(xvar=runif(100), yvar=rnorm(100), group=c(rep("Group A", 50), rep("Group B", 50))) 
    groupDat <- reactive({ 
     exdat %>% filter(group==input$group) 
    }) 
    hoverText = function(x){ 
     paste0("(", format(x$xvar, digits=2), ", ", format(x$yvar, digits=2), ")") 
    } 
    observe({ 
     groupDat() %>% ggvis(~xvar, ~yvar) %>% layer_points() %>% 
      add_tooltip(hoverText, "hover") %>% bind_shiny("ggvisplot") 
    }) 
} 

shinyApp(ui, server) 
+0

おかげで、私はモジュールを使用する必要があります。これははるかに大きなプロジェクトにフィードします。 – ABrook

+0

これはggvisの既知のバグです:https://github.com/rstudio/ggvis/issues/457。 – ABrook

関連する問題