My graph changes, i know this cause the Y axis changes it's limits. But the tooltip for each bar is the same, no matter if i change the daterange.
As you see, it says: "Total number of Sessions: 11,610" for the "Directo" source. This is for the entire month of Dicember. However, if i change the dates from: "2014-12-01" to "2014-12-01", to see the data just for the first day of dicember, the bars change, but the tool tip keeps saying: "Total number of Sessions: 11,610" for "Directo".
I think it is a problem with my "mysessions" function fot the tool tip part, that does not recognize the subset for the data when daterangeInput change. But cannot figure it out.
My server.R: ### You can see my data from "dput()" at the end.
library(dplyr)
library(ggvis)
library(shiny)
Visitas_Por_Fuente <- read.csv("D:\\RCoursera\\Star- App3\\Visitas_Por_Fuente_Dic.csv") ## Call it from a CSV file, but you can see the dput() data at the end of the post.
Visitas_Por_Fuente$date <- as.Date(Visitas_Por_Fuente$date)
shinyServer(
function(input, output, session){
myData <- reactive({
# Filter the data based on user selection month
date_seq <- seq(input$dates[1], input$dates[2], by = "day")
EvolucionVisitas <- filter(Visitas_Por_Fuente, date %in% date_seq)
return(EvolucionVisitas)
})
############# Evolución de las visitas ##############################################
#####################################################################################**
myvis <- reactive({
EvolucionVisitas <- myData()
mysessions <- function(x) {
if(is.null(x)) return(NULL)
# compute the total number of sessions of the "Fuente" type that is hovered over
total_sessions <- sum(EvolucionVisitas[EvolucionVisitas$Fuentes == x$Fuentes, "sessions"])
# format the value with prettyNum if you like:
paste0("Total number of Sessions:", " ",
prettyNum(total_sessions, big.mark=",",scientific=F))
}
outvis <-
EvolucionVisitas %>%
ggvis(~Fuentes, ~sessions) %>%
layer_bars(width = 0.8, fill = ~Fuentes) %>%
add_tooltip(mysessions ,"hover")
return(outvis)
})
myvis %>% bind_shiny("EvolucionVisitas")
}
)
My ui.R:
library(shiny)
library(ggvis)
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('Evolución de las visitas',
ggvisOutput("EvolucionVisitas"))
)
)
)
)
)
My data: #needed to convert using as.data.frame. Something is going on with the group_by function from dplyr.
as.data.frame(structure(list(date = structure(c(1417410000, 1417410000, 1417410000,
1417410000, 1417410000, 1417410000, 1417496400, 1417496400, 1417496400,
1417496400, 1417496400, 1417496400, 1417496400, 1417582800, 1417582800,
1417582800, 1417582800, 1417582800, 1417582800, 1417582800, 1417669200,
1417669200, 1417669200, 1417669200, 1417669200, 1417669200, 1417669200,
1417755600, 1417755600, 1417755600, 1417755600, 1417755600, 1417755600,
1417842000, 1417842000, 1417842000, 1417842000, 1417842000, 1417842000,
1417842000, 1417928400, 1417928400, 1417928400, 1417928400, 1417928400,
1417928400, 1417928400, 1418014800, 1418014800, 1418014800, 1418014800,
1418014800, 1418014800, 1418014800, 1418101200, 1418101200, 1418101200,
1418101200, 1418101200, 1418101200, 1418101200, 1418187600, 1418187600,
1418187600, 1418187600, 1418187600, 1418187600, 1418187600, 1418274000,
1418274000, 1418274000, 1418274000, 1418274000, 1418274000, 1418274000,
1418360400, 1418360400, 1418360400, 1418360400, 1418360400, 1418360400,
1418360400, 1418446800, 1418446800, 1418446800, 1418446800, 1418446800,
1418446800, 1418446800, 1418533200, 1418533200, 1418533200, 1418533200,
1418533200, 1418533200, 1418533200, 1418619600, 1418619600, 1418619600,
1418619600, 1418619600, 1418619600, 1418619600, 1418706000, 1418706000,
1418706000, 1418706000, 1418706000, 1418706000, 1418706000, 1418792400,
1418792400, 1418792400, 1418792400, 1418792400, 1418792400, 1418792400,
1418878800, 1418878800, 1418878800, 1418878800, 1418878800, 1418878800,
1418878800, 1418965200, 1418965200, 1418965200, 1418965200, 1418965200,
1418965200, 1418965200, 1419051600, 1419051600, 1419051600, 1419051600,
1419051600, 1419051600, 1419051600, 1419138000, 1419138000, 1419138000,
1419138000, 1419138000, 1419138000, 1419224400, 1419224400, 1419224400,
1419224400, 1419224400, 1419224400, 1419224400, 1419310800, 1419310800,
1419310800, 1419310800, 1419310800, 1419310800, 1419397200, 1419397200,
1419397200, 1419397200, 1419397200, 1419397200, 1419397200, 1419483600,
1419483600, 1419483600, 1419483600, 1419483600, 1419483600, 1419483600,
1419570000, 1419570000, 1419570000, 1419570000, 1419570000, 1419570000,
1419656400, 1419656400, 1419656400, 1419656400, 1419656400, 1419656400,
1419742800, 1419742800, 1419742800, 1419742800, 1419742800, 1419742800,
1419742800, 1419829200, 1419829200, 1419829200, 1419829200, 1419829200,
1419829200, 1419915600, 1419915600, 1419915600, 1419915600, 1419915600,
1419915600, 1419915600, 1420002000, 1420002000, 1420002000, 1420002000,
1420002000), class = c("POSIXct", "POSIXt"), tzone = "America/Lima"),
Fuentes = c("Adwords", "Directo", "Email", "Referencias",
"SEO", "Social Media", "Adwords", "Campañas", "Directo",
"Email", "Referencias", "SEO", "Social Media", "Adwords",
"Campañas", "Directo", "Email", "Referencias", "SEO", "Social Media",
"Adwords", "Campañas", "Directo", "Email", "Referencias",
"SEO", "Social Media", "Campañas", "Directo", "Email", "Referencias",
"SEO", "Social Media", "Adwords", "Campañas", "Directo",
"Email", "Referencias", "SEO", "Social Media", "Adwords",
"Campañas", "Directo", "Email", "Referencias", "SEO", "Social Media",
"Adwords", "Campañas", "Directo", "Email", "Referencias",
"SEO", "Social Media", "Adwords", "Campañas", "Directo",
"Email", "Referencias", "SEO", "Social Media", "Adwords",
"Campañas", "Directo", "Email", "Referencias", "SEO", "Social Media",
"Adwords", "Campañas", "Directo", "Email", "Referencias",
"SEO", "Social Media", "Adwords", "Campañas", "Directo",
"Email", "Referencias", "SEO", "Social Media", "Adwords",
"Campañas", "Directo", "Email", "Referencias", "SEO", "Social Media",
"Adwords", "Campañas", "Directo", "Email", "Referencias",
"SEO", "Social Media", "Adwords", "Campañas", "Directo",
"Email", "Referencias", "SEO", "Social Media", "Adwords",
"Campañas", "Directo", "Email", "Referencias", "SEO", "Social Media",
"Adwords", "Campañas", "Directo", "Email", "Referencias",
"SEO", "Social Media", "Adwords", "Campañas", "Directo",
"Email", "Referencias", "SEO", "Social Media", "Adwords",
"Campañas", "Directo", "Email", "Referencias", "SEO", "Social Media",
"Adwords", "Campañas", "Directo", "Email", "Referencias",
"SEO", "Social Media", "Campañas", "Directo", "Email", "Referencias",
"SEO", "Social Media", "Adwords", "Campañas", "Directo",
"Email", "Referencias", "SEO", "Social Media", "Campañas",
"Directo", "Email", "Referencias", "SEO", "Social Media",
"Adwords", "Campañas", "Directo", "Email", "Referencias",
"SEO", "Social Media", "Adwords", "Campañas", "Directo",
"Email", "Referencias", "SEO", "Social Media", "Campañas",
"Directo", "Email", "Referencias", "SEO", "Social Media",
"Campañas", "Directo", "Email", "Referencias", "SEO", "Social Media",
"Adwords", "Campañas", "Directo", "Email", "Referencias",
"SEO", "Social Media", "Campañas", "Directo", "Email", "Referencias",
"SEO", "Social Media", "Adwords", "Campañas", "Directo",
"Email", "Referencias", "SEO", "Social Media", "Directo",
"Email", "Referencias", "SEO", "Social Media"), sessions = c(10L,
326L, 18L, 527L, 999L, 52L, 3L, 7L, 324L, 19L, 498L, 933L,
44L, 5L, 12L, 363L, 15L, 546L, 1206L, 202L, 7L, 12L, 1122L,
27L, 1249L, 5168L, 607L, 17L, 432L, 22L, 527L, 1553L, 637L,
5L, 5L, 356L, 16L, 507L, 1901L, 487L, 4L, 8L, 312L, 30L,
500L, 1622L, 370L, 3L, 11L, 341L, 18L, 504L, 1312L, 352L,
2L, 13L, 1188L, 33L, 682L, 2008L, 1508L, 3L, 15L, 1086L,
36L, 646L, 2124L, 380L, 3L, 11L, 355L, 17L, 383L, 1054L,
236L, 2L, 9L, 321L, 15L, 370L, 1118L, 245L, 7L, 9L, 259L,
13L, 332L, 1261L, 230L, 3L, 7L, 539L, 9L, 626L, 2336L, 256L,
1L, 12L, 292L, 8L, 386L, 1070L, 220L, 1L, 12L, 278L, 9L,
393L, 1129L, 22L, 1L, 16L, 521L, 18L, 665L, 2400L, 20L, 1L,
13L, 204L, 7L, 258L, 789L, 11L, 2L, 12L, 253L, 6L, 277L,
803L, 9L, 1L, 4L, 262L, 8L, 324L, 960L, 9L, 3L, 442L, 15L,
516L, 1890L, 16L, 2L, 14L, 249L, 8L, 240L, 688L, 11L, 15L,
182L, 7L, 200L, 548L, 5L, 2L, 3L, 171L, 7L, 183L, 480L, 5L,
1L, 3L, 176L, 5L, 231L, 506L, 6L, 15L, 283L, 18L, 322L, 786L,
11L, 13L, 210L, 9L, 232L, 649L, 2L, 1L, 2L, 258L, 4L, 306L,
891L, 9L, 4L, 183L, 10L, 293L, 634L, 4L, 1L, 3L, 188L, 9L,
244L, 566L, 11L, 134L, 1L, 176L, 453L, 4L)), .Names = c("date",
"Fuentes", "sessions"), row.names = c(NA, -208L), class = c("grouped_df",
"tbl_df", "tbl", "data.frame"), vars = list(date), drop = TRUE))