Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Change axis limits on googleVis timeline chart

Tags:

r

googlevis

I would like to set a specific start and end date for an R googleVis timeline chart. For example I would like the following chart to start at 1780 and end at 1815. I have searched the documentation and tried some of the options from other chart types but I have been unable to get any of them to work.

library(googleVis)
datTL <- data.frame(Position=c(rep("President", 3), rep("Vice", 3)),
                        Name=c("Washington", "Adams", "Jefferson",
                               "Adams", "Jefferson", "Burr"),
                        start=as.Date(x=rep(c("1789-03-29", "1797-02-03", 
                                              "1801-02-03"),2)),
                        end=as.Date(x=rep(c("1797-02-03", "1801-02-03", 
                                            "1809-02-03"),2)))

    Timeline <- gvisTimeline(data=datTL, 
                             rowlabel="Name",
                             barlabel="Position",
                             start="start", 
                             end="end",
                             options=list(timeline="{groupByRowLabel:false}",
                                          backgroundColor='#ffd', 
                                          height=350,
                                          colors="['#cbb69d', '#603913', '#c69c6e']"))
    plot(Timeline)

enter image description here

like image 561
Ian Wesley Avatar asked Apr 04 '18 15:04

Ian Wesley


1 Answers

You can supply the minValue and maxValue of horizontal axis via hAxis in options like this:
option=list(hAxis="{minValue: new Date(1785, 0, 0), maxValue: new Date(1810, 0, 0)}"))

The whole plot would be like this:

library(googleVis)
datTL <- data.frame(Position=c(rep("President", 3), rep("Vice", 3)),
                    Name=c("Washington", "Adams", "Jefferson",
                           "Adams", "Jefferson", "Burr"),
                    start=as.Date(x=rep(c("1789-03-29", "1797-02-03", 
                                          "1801-02-03"),2)),
                    end=as.Date(x=rep(c("1797-02-03", "1801-02-03", 
                                        "1809-02-03"),2)))

option_list <- list(timeline="{groupByRowLabel:false}",
                    backgroundColor='#ffd', 
                    height=350,
                    colors="['#cbb69d', '#603913', '#c69c6e']",
                    hAxis="{minValue: new Date(1785, 0, 0), maxValue: new Date(1810, 0, 0)}")

Timeline <- gvisTimeline(data=datTL, 
                         rowlabel="Name",
                         barlabel="Position",
                         start="start", 
                         end="end",
                         options=option_list)
plot(Timeline)
like image 137
raymkchow Avatar answered Oct 14 '22 12:10

raymkchow