title: ggvis integration with Shiny
body: <p>This is rather a simple question. I read other threads, and found that, in order to insert a GGVIS visualization into Shiny, you need:</p>
  
  <ol>
  <li>In <code>ui.R</code> - Call <code>ggvisOutput("EvolucionVisitas")</code>  </li>
  <li>In <code>server.R</code> - use function <code>bind_shiny("EvolucionVisitas")</code></li>
  </ol>
  
  <p>I'm having problems plotting the graph for my tab "Evolución Visitas".
  I did both, but i'm failing somewhere.</p>
  
  <p>Nothing prints in my tab: EvoluciónVisitas. Everything else is okay.</p>
  
  <p>Here is my data:</p>
  
  <pre><code>structure(list(date = structure(1:31, .Label = c("2014-12-01", 
  "2014-12-02", "2014-12-03", "2014-12-04", "2014-12-05", "2014-12-06", 
  "2014-12-07", "2014-12-08", "2014-12-09", "2014-12-10", "2014-12-11", 
  "2014-12-12", "2014-12-13", "2014-12-14", "2014-12-15", "2014-12-16", 
  "2014-12-17", "2014-12-18", "2014-12-19", "2014-12-20", "2014-12-21", 
  "2014-12-22", "2014-12-23", "2014-12-24", "2014-12-25", "2014-12-26", 
  "2014-12-27", "2014-12-28", "2014-12-29", "2014-12-30", "2014-12-31"
  ), class = "factor"), sessions = c(1932L, 1828L, 2349L, 8192L, 
  3188L, 3277L, 2846L, 2541L, 5434L, 4290L, 2059L, 2080L, 2111L, 
  3776L, 1989L, 1844L, 3641L, 1283L, 1362L, 1568L, 2882L, 1212L, 
  957L, 851L, 928L, 1435L, 1115L, 1471L, 1128L, 1022L, 768L), id = 1:31), .Names = c("date", 
  "sessions", "id"), row.names = c(NA, -31L), drop = TRUE, class = c("tbl_df", 
  "tbl", "data.frame"))
  </code></pre>
  
  <p>Here my code, thanks.</p>
  
  <p>ui.R</p>
  
  <pre><code>library(shiny)
  library(ggvis)
  
  # Define the overall UI
  shinyUI(
  
    # Use a fluid Bootstrap layout
    fluidPage(    
  
      # Give the page a title
      br(),
      br(),
      titlePanel("Visitas por fuente"),
  
      # Generate a row with a sidebar
      sidebarLayout(      
  
        # Define the sidebar with one input
  
  
  
        sidebarPanel(
          dateRangeInput("dates", label = h3("Date range"),
                         start = "2014-12-01", end = "2014-12-31")
  
        ),
  
  
        mainPanel(
          tabsetPanel(
            tabPanel('Visitas por fuente',
                     plotOutput("VisitasFuente")),
            tabPanel('Evolución de las visitas',
                     ggvisOutput("EvolucionVisitas")),
            tabPanel('Comentarios',
                     dataTableOutput("Comentarios"))
          )
  
      )
    )
  ))
  </code></pre>
  
  <p>server.R</p>
  
  <pre><code>library(shiny)
  library(ggvis)
  
  
  
  Visitas_Por_Fuente &lt;- read.csv("D:\\RCoursera\\Star-App-2\\Visitas_Por_Fuente_Dic.csv")
  labelsF = c("Directo", "Email", "Referencias", "SEO", "Social Media", "Campañas", "Adwords")
  Visitas_Por_Fuente$date &lt;- as.Date(Visitas_Por_Fuente$date)
  ComentariosDic &lt;- read.csv("D:\\RCoursera\\Star-App-2\\ComentariosDic2014.csv",header = TRUE, sep = ";")
  ComentariosDic$date &lt;- as.Date(ComentariosDic$date)
  
  
  shinyServer(
  
  
    function(input, output) {
  
  
  
      output$VisitasFuente &lt;- renderPlot({
  
        # Filter the data based on user selection month     
        date_seq &lt;- seq(input$dates[1], input$dates[2], by = "day")
  
  
        VisitasData &lt;- filter(Visitas_Por_Fuente, date %in% date_seq  &amp; Fuentes %in% labelsF)
  
        VisitasData &lt;- VisitasData %&gt;% group_by(Fuentes) %&gt;%
                                       summarise(sessions = sum(sessions))
  
  
  
  
        # Bar graph using ggplot2 library 
        ggplot(VisitasData, aes(factor(Fuentes), sessions, fill = Fuentes)) + 
          geom_bar(stat="identity", position = "dodge") +
          geom_text(aes(label = comma(sessions)), position=position_dodge(width=0.9), vjust=-0.25) +
          scale_fill_manual(breaks = c("0", "1", "3", "6", "9", "12", "15"),
                            labels = labelsF,
                            values = c("#E69F00", "#56B4E9", "#009E73", 
                                       "#F0E442", "#0072B2", "#A082F8", "#F072A2"))
  
      })
  
      **############# Evolución de las visitas ##############################################
      #####################################################################################**
  
  
      output$EvolucionVisitas &lt;- renderPlot({
  
        # Filter the data based on user selection month     
        date_seq &lt;- seq(input$dates[1], input$dates[2], by = "day")
  
  
        EvolucionVisitas &lt;-  filter(Visitas_Por_Fuente, date %in% date_seq) 
  
  
        mysessions &lt;- function(x) {
          if(is.null(x)) return(NULL)
          #notice below the id column is how ggvis can understand which session to show 
          row &lt;- EvolucionVisitas[EvolucionVisitas$id == x$id, ]
          #prettyNum shows the number with thousand-comma separator  
          paste0("Sessions:", "&amp;nbsp;",prettyNum(row$sessions, big.mark=",",scientific=F)) 
        }
  
  
  
  
        EvolucionVisitas %&gt;% 
          ggvis(x= ~date, y= ~sessions, key := ~id) %&gt;%
          layer_points()  %&gt;%
          add_tooltip(mysessions ,"hover") %&gt;%
          layer_paths() %&gt;%
          add_axis("x", value=c(as.character(EvolucionVisitas$date[1]),as.character(EvolucionVisitas$date[round(length(EvolucionVisitas$date)/2,0)]),
                                as.character(tail(EvolucionVisitas$date, n=1)))) %&gt;%
          bind_shiny("EvolucionVisitas")
  
  
  
  
  
  
  
      #####################################################################################
      #####################################################################################
  
  
      output$Comentarios = renderDataTable({
  
        date_seq &lt;- seq(input$dates[1], input$dates[2], by = "day")
  
  
        ComentariosDic &lt;- filter(ComentariosDic, date %in% date_seq)
  
        ComentariosDic &lt;- filter(ComentariosDic, !grepl("^$", Comentarios))
  
  
      })
  
  })
  </code></pre>