
Merge two googleVis charts into one gvis-object
gvisMerge.RdgvisMerge merges two gvis-objects, either next or below each other into one gvis-object. The objects are arranged in a HTML table.
Arguments
- x
a
gvis-object.- y
a
gvis-object.- horizontal
boolean. Default
FALSE. IfFALSEthe twogvis-objects are arranged below each other, otherwise next to each other.- tableOptions
a valid HTML table option string. Default
"border=\"0\"".- chartid
character. If missing (default) a random chart id will be generated based on chart type and
tempfile
Value
gvisMerge returns list of class "gvis" and "list".
An object of class "gvis" is a list containing at least the following components:
typeGoogle visualisation type, here 'gvisMerge'
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
dataas 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
jsDisplayChartfunction.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.
References
Google Chart Tools API: https://developers.google.com/chart/
Follow the link for Google's data policy.
Author
Markus Gesmann markus.gesmann@gmail.com,
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 Internet
## connection to display the visualisation.
Pie1 <- gvisPieChart(CityPopularity)
## Doughnut chart - a pie with a hole
Pie2 <- gvisPieChart(CityPopularity, options=list(
slices="{4: {offset: 0.2}, 0: {offset: 0.3}}",
title='City popularity',
legend='none',
pieSliceText='label',
pieHole=0.5))
plot(gvisMerge(Pie2, Pie1,
tableOptions = "cellspacing=\"20\" bgcolor=\"#AABBCC\"",
horizontal=TRUE))
## Nested charts
G <- gvisGeoChart(Exports, "Country", "Profit",
options=list(width=250, height=100))
T <- gvisTable(Exports,
options=list(width=250, height=300))
GT <- gvisMerge(G,T, horizontal=FALSE)
plot(GT)
M <- gvisMotionChart(Fruits, "Fruit", "Year",
options=list(width=400, height=410))
#> Warning: Flash charts are no longer supported by most browsers.
#> An alternative is plotly::ggplotly.
#> For more see https://plotly.com/r/animations/#mulitple-trace-animations
GTM <- gvisMerge(GT, M, horizontal=TRUE,
tableOptions="cellspacing=10")
plot(GTM)
line <- gvisLineChart(OpenClose, "Weekday", c("Open", "Close"),
options=list(legend='none', width=300, height=150))
column <- gvisColumnChart(OpenClose, "Weekday", c("Open", "Close"),
options=list(legend='none', width=300, height=150))
area <- gvisAreaChart(OpenClose, "Weekday", c("Open", "Close"),
options=list(legend='none', width=300, height=150))
bar <- gvisBarChart(OpenClose, "Weekday", c("Open", "Close"),
options=list(legend='none', width=300, height=150))
LBCA <- gvisMerge(gvisMerge(line, bar), gvisMerge(column, area),
horizontal=TRUE, tableOptions="bgcolor=\"#AABBCC\"")
plot(LBCA)
## Applying gvisMerge successively
p <- Reduce(gvisMerge, list(line, column, area, bar))
plot(p)