| gvisAnnotatedTimeLine {googleVis} | R Documentation |
The gvisAnnotatedTimeLine function reads a data.frame and creates text output referring to the Google Visualisation API, which can be included into a web page, or as a stand-alone page.
gvisAnnotatedTimeLine(data, datevar = "", numvar = "", idvar = "", titlevar = "", annotationvar = "", date.format = "%Y/%m/%d", options = list(), chartid)
data |
a |
datevar |
column name of |
numvar |
column name of |
idvar |
column name of |
titlevar |
column name of |
annotationvar |
column name of |
date.format |
if |
options |
list of configuration options, see: https://developers.google.com/chart/interactive/docs/gallery/annotatedtimeline#Configuration_Options The parameters can be set via a named list. The parameters have to map those of the Google documentation.
For more details see the Google API documentation and the R examples below. |
chartid |
character. If missing (default) a random chart id will be
generated based on chart type and |
An annotated time line is an interactive time series line chart with optional annotations. The chart is rendered within the browser using Flash.
gvisAnnotatedTimeLine returns list
of class
"gvis" and "list".
An object of class "gvis" is a list containing at least the
following components:
typeGoogle visualisation type
chartidcharacter id of the chart object. Unique chart ids are required to place several charts on the same page.
htmla list with the building blocks for a page
headera character string of a html page header:
<html>...<body>,
charta named character vector of the chart's building blocks:
jsHeaderOpening <script> tag and
reference to Google's JavaScript library.
jsDataJavaScript function defining the input
data as a JSON object.
jsDrawChartJavaScript function combing the data with the visualisation API and user options.
jsDisplayChartJavaScript function calling the handler to display the chart.
jsFooterEnd tag </script>.
jsChartCall of the jsDisplayChart function.
divChart<div> container to embed the chart
into the page.
captioncharacter string of a standard caption, including data name and chart id.
footercharacter string of a html page footer:
</body>...</html>, including the used R and googleVis version
and link to Google's Terms of Use.
AnnotatedTimeline (gvisAnnotatedTimeLine) is Flash based, conisder using AnnotationChart (gvisAnnotationChart) instead. For more details visit: goo.gl/tkiEV8
Because of Flash security settings the chart might not work correctly when accessed from a file location in the browser (e.g., file:///c:/webhost/myhost/myviz.html) rather than from a web server URL (e.g. http://www.myhost.com/myviz.html). See the googleVis package vignette and the Macromedia web site (http://www.macromedia.com/support/documentation/en/flashplayer/help/) for more details.
Important: To use this visualization, you must specify the height and width of the container element explicitly on your page. So, for example: options=list(width="600px", height="350px")
Use codegvisAnnotationChart for a non-Flash version of this plot.
Markus Gesmann markus.gesmann@gmail.com,
Diego de Castillo decastillo@gmail.com
Google Chart Tools API: http://developers.google.com/chart/interactive/docs/gallery/annotatedtimeline
See also print.gvis, plot.gvis for printing and
plotting methods. Further see reshape for reshaping data, e.g.
from a wide format into a long format.
## Please note that by default the googleVis plot command
## will open a browser window and requires Flash and Internet
## connection to display the visualisation.
data(Stock)
Stock
A1 <- gvisAnnotatedTimeLine(Stock, datevar="Date",
numvar="Value", idvar="Device",
titlevar="Title", annotationvar="Annotation",
options=list(displayAnnotations=TRUE,
legendPosition='newRow',
width="600px", height="350px")
)
plot(A1)
## Two Y-axis
A2 <- gvisAnnotatedTimeLine(Stock, datevar="Date",
numvar="Value", idvar="Device",
titlevar="Title", annotationvar="Annotation",
options=list(displayAnnotations=TRUE,
width="600px", height="350px", scaleColumns='[0,1]',
scaleType='allmaximized')
)
plot(A2)
## Zoom into the time window, no Y-axis ticks
A3 <- gvisAnnotatedTimeLine(Stock, datevar="Date",
numvar="Value", idvar="Device",
titlevar="Title", annotationvar="Annotation",
options=list(
width="600px", height="350px",
zoomStartTime=as.Date("2008-01-04"),
zoomEndTime=as.Date("2008-01-05"))
)
plot(A3)
## Colouring the area below the lines to create an area chart
A4 <- gvisAnnotatedTimeLine(Stock, datevar="Date",
numvar="Value", idvar="Device",
titlevar="Title", annotationvar="Annotation",
options=list(
width="600px", height="350px",
fill=10, displayExactValues=TRUE,
colors="['#0000ff','#00ff00']")
)
plot(A4)
## Data with POSIXct datetime variable
A5 <- gvisAnnotatedTimeLine(Andrew, datevar="Date/Time UTC",
numvar="Pressure_mb",
options=list(scaleType='maximized',
width="600px", height="350px")
)
plot(A5)
## Not run:
## Plot Apple's monthly stock prices since 1984
## Get current date
d <- Sys.time()
current.year <- format(d, "%Y")
current.month <- format(d, "%m")
current.day <- format(d, "%d")
## Yahoo finance sets January to 00 hence:
month <- as.numeric(current.month) - 1
month <- ifelse(month < 10, paste("0",month, sep=""), m)
## Get weekly stock prices from Apple Inc.
tckr <- 'AAPL'
yahoo <- 'http://ichart.finance.yahoo.com/table.csv'
fn <- sprintf('%s?s=%s&a=08&b=7&c=1984&d=%s&e=%s&f=%s&g=w&ignore=.csv',
yahoo, tckr, month, current.day, current.year)
## Get data from Yahoo! Finance
data <- read.csv(fn, colClasses=c("Date", rep("numeric",6)))
AAPL <- reshape(data[,c("Date", "Close", "Volume")], idvar="Date",
times=c("Close", "Volume"),
timevar="Type",
varying=list(c("Close", "Volume")),
v.names="Value",
direction="long")
## Calculate previous two years for zoom start time
lyd <- as.POSIXlt(as.Date(d))
lyd$year <- lyd$year-2
lyd <- as.Date(lyd)
aapl <- gvisAnnotatedTimeLine(AAPL, datevar="Date",
numvar="Value", idvar="Type",
options=list(
colors="['blue', 'lightblue']",
zoomStartTime=lyd,
zoomEndTime=as.Date(d),
legendPosition='newRow',
width="600px", height="400px", scaleColumns='[0,1]',
scaleType='allmaximized')
)
plot(aapl)
## End(Not run)