gvisMotionChart {googleVis} | R Documentation |
Google Motion Chart with R
Description
The gvisMotionChart 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. The actual chart is rendered by the web browser in Flash. A motion chart is a dynamic chart to explore several indicators over time.
Usage
gvisMotionChart(
data,
idvar = "id",
timevar = "time",
xvar = "",
yvar = "",
colorvar = "",
sizevar = "",
date.format = "%Y/%m/%d",
options = list(),
chartid
)
Arguments
data |
a |
idvar |
column name of |
timevar |
column name of |
xvar |
column name of a numerical vector in |
yvar |
column name of a numerical vector in |
colorvar |
column name of data that identifies bubbles in the
same series. Use the same value to identify all bubbles that belong
to the same series; bubbles in the same series will be assigned the
same color. Series can be configured using the |
sizevar |
values in this column are mapped to actual pixel
values using the |
date.format |
if |
options |
list of configuration options for Google Motion Chart. The options are documented in detail by Google online: https://developers.google.com/chart/interactive/docs/gallery/motionchart#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 |
Value
gvisMotionChart returns list
of class
"gvis
" and "list
".
An object of class "gvis
" is a list containing at least the
following components:
type
Google visualisation type
chartid
character id of the chart object. Unique chart ids are required to place several charts on the same page.
html
a list with the building blocks for a page
header
a character string of a html page header:
<html>...<body>
,chart
a named character vector of the chart's building blocks:
jsHeader
Opening
<script>
tag and reference to Google's JavaScript library.jsData
JavaScript function defining the input
data
as a JSON object.jsDrawChart
JavaScript function combing the data with the visualisation API and user options.
jsDisplayChart
JavaScript function calling the handler to display the chart.
jsFooter
End tag
</script>
.jsChart
Call of the
jsDisplayChart
function.divChart
<div>
container to embed the chart into the page.
caption
character string of a standard caption, including data name and chart id.
footer
character string of a html page footer:
</body>...</html>
, including the used R and googleVis version and link to Google's Terms of Use.
Warnings
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. https://www.myhost.com/myviz.html). See the googleVis package vignette and the Macromedia web site (https://www.macromedia.com/support/documentation/en/flashplayer/help/) for more details.
Note
Please note that a timevar
with values less than 100 will
be shown as years 19xx.
Author(s)
Markus Gesmann markus.gesmann@gmail.com, Diego de Castillo decastillo@gmail.com
References
Google Chart Tools API: https://developers.google.com/chart/interactive/docs/gallery/motionchart
See Also
See also print.gvis
, plot.gvis
for printing and plotting methods.
Examples
## Please note that by default the googleVis plot command
## will open a browser window and requires Flash and Internet
## connection to display the visualisation.
M1 <- gvisMotionChart(Fruits, idvar="Fruit", timevar="Year")
plot(M1)
## Not run:
## Usage of date variable
M2 <- gvisMotionChart(Fruits, idvar="Fruit", timevar="Date",
date.format = "\\%Y\\%m\\%d")
plot(M2)
## Display weekly data:
M3 <- gvisMotionChart(Fruits, "Fruit", "Date", date.format="\\%YW\\%W")
plot(M3)
## End(Not run)
## Options: no side panel on the right
M4 <- gvisMotionChart(Fruits,"Fruit", "Year",
options=list(showSidePanel=FALSE))
plot(M4)
## Options: trails un-ticked
M5 <- gvisMotionChart(Fruits, "Fruit", "Year",
options=list(state='{"showTrails":false};'))
plot(M5)
## You can change some of displaying settings via the browser,
## e.g. the level of opacity of non-selected items, or the chart type.
## The state string from the 'Advanced' tab can be used to set those
## settings via R. Just copy and past the string from the browser into
## the argument state of the options list.
## Here is an example of a motion chart, with an initial line chart
## displayed. Ensure that you have a newline at the start and end of
## your settings string.
myStateSettings <-'
{"xZoomedDataMin":1199145600000,"colorOption":"2",
"duration":{"timeUnit":"Y","multiplier":1},"yLambda":1,
"yAxisOption":"4","sizeOption":"_UNISIZE",
"iconKeySettings":[],"xLambda":1,"nonSelectedAlpha":0,
"xZoomedDataMax":1262304000000,"iconType":"LINE",
"dimensions":{"iconDimensions":["dim0"]},
"showTrails":false,"uniColorForNonSelected":false,
"xAxisOption":"_TIME","orderedByX":false,"playDuration":15000,
"xZoomedIn":false,"time":"2010","yZoomedDataMin":0,
"yZoomedIn":false,"orderedByY":false,"yZoomedDataMax":100}
'
M6a <- gvisMotionChart(Fruits, "Fruit", "Year",
options=list(state=myStateSettings))
plot(M6a)
## Newline set explicitly
myStateSettings <-'\n{"iconType":"LINE"}\n'
M6b <- gvisMotionChart(Fruits, "Fruit", "Year",
options=list(state=myStateSettings))
plot(M6b)
## Define which columns are used for the initial setup of the various
## dimensions
M7 <- gvisMotionChart(Fruits, idvar="Fruit", timevar="Year",
xvar="Profit", yvar="Expenses",
colorvar="Location", sizevar="Sales")
plot(M7)
## For more information see:
## https://developers.google.com/chart/interactive/docs/gallery/motionchart
## See also the demo(WorldBank). It demonstrates how you can access
## country level data from the World Bank to create Gapminder-like
## plots.