Omar Gonzales
Omar Gonzales

Reputation: 4008

R: ggvis - plot x label in intervals

i've this data:

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"))

I want to plot the X label, but not for every date, but for the first, middle, and laste dates. Something like Google Analytics:

enter image description here

1. This is my normal code for ploting (with all the dates in label X):

EvolucionVisitas %>% ggvis(x= ~date, y= ~sessions, key := ~id) %>%
    layer_points()  %>%
    add_tooltip(mysessions ,"hover") %>%
    layer_paths() 

enter image description here

2. This is my code for fixing the x label, however nothing prints now:

EvolucionVisitas %>% ggvis(x= ~date, y= ~sessions, key := ~id) %>%
  layer_points()  %>%
  add_tooltip(mysessions ,"hover") %>%
  layer_paths() %>%
  add_axis("x",
           value=c(EvolucionVisitas$date[1], EvolucionVisitas$date[round(length(EvolucionVisitas$date)/2,0)],
                   tail(EvolucionVisitas$date, n=1)),
           properties=axis_props(
             labels=list(angle=90, fontSize = 10)))

Upvotes: 2

Views: 206

Answers (1)

NicE
NicE

Reputation: 21435

Try this:

EvolucionVisitas %>% ggvis(x= ~date, y= ~sessions, key := ~id) %>%
  layer_points()  %>%
  add_tooltip(mysessions ,"hover") %>%
  layer_paths() %>%
  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))))

Converting the values to characters does the trick.

Upvotes: 1

Related Questions