| gvisAnnotationChart {googleVis} | R Documentation |
gvisAnnotationChart charts are interactive time series line charts that support annotations. Unlike the gvisAnnotatedTimeLine, which uses Flash, annotation charts are SVG/VML and should be preferred whenever possible.
gvisAnnotationChart(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/annotationchart#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 |
gvisAnnotationChart 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.
Markus Gesmann markus.gesmann@gmail.com, Diego de Castillo decastillo@gmail.com
Google Chart Tools API: http://developers.google.com/chart/interactive/docs/gallery/annotationchart
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 Internet
## connection to display the visualisation.
data(Stock)
Stock
A1 <- gvisAnnotationChart(Stock, datevar="Date",
numvar="Value", idvar="Device",
titlevar="Title", annotationvar="Annotation",
options=list(displayAnnotations=TRUE,
legendPosition='newRow',
width=600, height=350)
)
plot(A1)
## Two Y-axis
A2 <- gvisAnnotationChart(Stock, datevar="Date",
numvar="Value", idvar="Device",
titlevar="Title", annotationvar="Annotation",
options=list(displayAnnotations=TRUE,
width=600, height=350, scaleColumns='[0,1]',
scaleType='allmaximized')
)
plot(A2)
## Zoom into the time window, no Y-axis ticks
A3 <- gvisAnnotationChart(Stock, datevar="Date",
numvar="Value", idvar="Device",
titlevar="Title", annotationvar="Annotation",
options=list(
width=600, height=350,
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 <- gvisAnnotationChart(Stock, datevar="Date",
numvar="Value", idvar="Device",
titlevar="Title", annotationvar="Annotation",
options=list(
width=600, height=350,
fill=10, displayExactValues=TRUE,
colors="['#0000ff','#00ff00']")
)
plot(A4)
## Data with POSIXct datetime variable
A5 <- gvisAnnotationChart(Andrew, datevar="Date/Time UTC",
numvar="Pressure_mb",
options=list(scaleType='maximized')
)
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 <- gvisAnnotationChart(AAPL, datevar="Date",
numvar="Value", idvar="Type",
options=list(
colors="['blue', 'lightblue']",
zoomStartTime=lyd,
zoomEndTime=as.Date(d),
legendPosition='newRow',
width=600, height=400, scaleColumns='[0,1]',
scaleType='allmaximized')
)
plot(aapl)
## End(Not run)