Google Bar Chart with R
The gvisBarChart 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 using SVG or VML.
gvisBarChart(data, xvar = "", yvar = "", options = list(), chartid)
data |
a |
xvar |
name of the character column which contains the category labels for the x-axes. |
yvar |
a vector of column names of the numerical variables to be plotted. Each column is displayed as a separate bar/column. |
options |
list of configuration options, see: https://developers.google.com/chart/interactive/docs/gallery/barchart#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 |
gvisBarChart 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.
Markus Gesmann markus.gesmann@gmail.com,
Diego de Castillo decastillo@gmail.com
Google Chart Tools API: https://developers.google.com/chart/interactive/docs/gallery/barchart
See also print.gvis
, plot.gvis
for
printing and plotting methods
## Please note that by default the googleVis plot command ## will open a browser window and requires an internet ## connection to display the visualisation. df <- data.frame(country=c("US", "GB", "BR"), val1=c(1,3,4), val2=c(23,12,32)) ## Bar chart Bar1 <- gvisBarChart(df, xvar="country", yvar=c("val1", "val2")) plot(Bar1) ## Stacked bar chart Bar2 <- gvisBarChart(df, xvar="country", yvar=c("val1", "val2"), options=list(isStacked=TRUE)) plot(Bar2) ## Add a customised title and change width of bars Bar3 <- gvisBarChart(df, xvar="country", yvar=c("val1", "val2"), options=list(title="Hello World", titleTextStyle="{color:'red',fontName:'Courier',fontSize:16}", bar="{groupWidth:'100%'}")) plot(Bar3) ## Not run: ## Change x-axis to percentages Bar4 <- gvisBarChart(df, xvar="country", yvar=c("val1", "val2"), options=list(hAxis="{format:'#,###%'}")) plot(Bar4) ## The following example reads data from a Wikipedia table and displays ## the information in a bar chart. ## We use the readHMLTable function of the XML package to get the data library(XML) ## Get the data of the biggest ISO container companies from Wikipedia ##(table 3): df=readHTMLTable(readLines("https://en.wikipedia.org/wiki/Intermodal_freight_transport"))[[3]][,1:2] ## Rename the second column names(df)[2]="TEU capacity" ## The numbers are displayed with commas to separate thousands, so let's ## get rid of them: df[,2]=as.numeric(gsub(",", "", as.character(df[,2]))) ## Finally we can create a nice bar chart: Bar5 <- gvisBarChart(df, options=list( chartArea="{left:250,top:50,width:\"50%\",height:\"75%\"}", legend="bottom", title="Top 20 container shipping companies in order of TEU capacity")) plot(Bar5) ## End(Not run)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.