All code taken from https://cran.r-project.org/web/packages/googleVis/vignettes/googleVis_examples.html
suppressPackageStartupMessages(library(googleVis))
## Creating a generic function for 'toJSON' from package 'jsonlite' in package 'googleVis'
op <- options(gvis.plot.tag = "chart")
df = data.frame(country = c("US", "GB", "BR"), Exports = c(10, 13, 14), Imports = c(23,
12, 32))
Line <- gvisLineChart(df)
plot(Line)
Line2 <- gvisLineChart(df, "country", c("Exports", "Imports"), options = list(series = "[{targetAxisIndex: 0},
{targetAxisIndex:1}]",
vAxes = "[{title:'Exports'}, {title:'Imports'}]"))
plot(Line2)
really misleading way to visualize data!!
Bar <- gvisBarChart(df)
plot(Bar)
Column <- gvisColumnChart(df)
plot(Column)
Area <- gvisAreaChart(df)
plot(Area)
SteppedArea <- gvisSteppedAreaChart(df, xvar = "country", yvar = c("Exports",
"Imports"), options = list(isStacked = TRUE))
plot(SteppedArea)
Combo <- gvisComboChart(df, xvar = "country", yvar = c("Exports", "Imports"),
options = list(seriesType = "bars", series = "{1: {type:\"line\"}}"))
plot(Combo)
Scatter <- gvisScatterChart(women, options = list(legend = "none", lineWidth = 2,
pointSize = 0, title = "Women", vAxis = "{title:'weight (lbs)'}", hAxis = "{title:'height (in)'}",
width = 300, height = 300))
plot(Scatter)
Bubble <- gvisBubbleChart(Fruits, idvar = "Fruit", xvar = "Sales", yvar = "Expenses",
colorvar = "Year", sizevar = "Profit", options = list(hAxes = "[{viewWindowMode:'explicit',
\t\t\t viewWindow:{min:75, max:125}}]",
vAxis = "{minValue:60, maxValue:100}"))
plot(Bubble)
Dashed <- gvisLineChart(df, xvar = "country", yvar = c("Exports", "Imports"),
options = list(series = "[{color:'green', targetAxisIndex: 0,
lineWidth: 1, lineDashStyle: [2, 2, 20, 2, 20, 2]},
{color: 'blue',targetAxisIndex: 1,
lineWidth: 2, lineDashStyle: [4, 1]}]",
vAxes = "[{title:'Exports'}, {title:'Imports'}]"))
plot(Dashed)
M <- matrix(nrow = 6, ncol = 6)
M[col(M) == row(M)] <- 1:6
dat <- data.frame(X = 1:6, M)
SC <- gvisScatterChart(dat, options = list(title = "Customizing points", legend = "bottom",
pointSize = 30, series = "{
0: { pointShape: 'circle' },
1: { pointShape: 'triangle' },
2: { pointShape: 'square' },
3: { pointShape: 'diamond' },
4: { pointShape: 'star' },
5: { pointShape: 'polygon' }
}"))
plot(SC)
Line3 <- gvisLineChart(df, xvar = "country", yvar = c("Exports", "Imports"),
options = list(title = "Hello World", titleTextStyle = "{color:'red',
fontName:'Courier',
fontSize:16}",
backgroundColor = "#D3D3D3", vAxis = "{gridlines:{color:'red', count:3}}",
hAxis = "{title:'Country', titleTextStyle:{color:'blue'}}", series = "[{color:'green', targetAxisIndex: 0},
{color: 'orange',targetAxisIndex:1}]",
vAxes = "[{title:'val1'}, {title:'val2'}]", legend = "bottom", curveType = "function",
width = 500, height = 300))
plot(Line3)
Candle <- gvisCandlestickChart(OpenClose, options = list(legend = "none"))
plot(Candle)
Pie <- gvisPieChart(CityPopularity)
plot(Pie)
Gauge <- gvisGauge(CityPopularity, options = list(min = 0, max = 800, greenFrom = 500,
greenTo = 800, yellowFrom = 300, yellowTo = 500, redFrom = 0, redTo = 300,
width = 400, height = 300))
plot(Gauge)
Intensity <- gvisIntensityMap(df)
plot(Intensity)
Geo = gvisGeoChart(Exports, locationvar = "Country", colorvar = "Profit", options = list(projection = "kavrayskiy-vii"))
plot(Geo)
require(datasets)
states <- data.frame(state.name, state.x77)
GeoStates <- gvisGeoChart(states, "state.name", "Illiteracy", options = list(region = "US",
displayMode = "regions", resolution = "provinces", width = 600, height = 400))
plot(GeoStates)
GeoMarker <- gvisGeoChart(Andrew, "LatLong", sizevar = "Speed_kt", colorvar = "Pressure_mb",
options = list(region = "US"))
plot(GeoMarker)
AndrewMap <- gvisMap(Andrew, "LatLong", "Tip", options = list(showTip = TRUE,
showLine = TRUE, enableScrollWheel = TRUE, mapType = "terrain", useMapTypeControl = TRUE))
plot(AndrewMap)
Table <- gvisTable(Stock, formats = list(Value = "#,###"))
plot(Table)
Rows can be sorted by clicking the column headers
PopTable <- gvisTable(Population, formats = list(Population = "#,###", `% of World Population` = "#.##%"),
options = list(page = "enable"))
plot(PopTable)
Org <- gvisOrgChart(Regions, options = list(width = 600, height = 250, size = "large",
allowCollapse = TRUE))
plot(Org)
Tree <- gvisTreeMap(Regions, "Region", "Parent", "Val", "Fac", options = list(fontSize = 16))
plot(Tree)
Left click to expand, right click to go back up a level
Anno <- 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(Anno)
datSK <- data.frame(From = c(rep("A", 3), rep("B", 3)), To = c(rep(c("X", "Y",
"Z"), 2)), Weight = c(5, 7, 6, 2, 9, 4))
Sankey <- gvisSankey(datSK, from = "From", to = "To", weight = "Weight", options = list(sankey = "{link: {color: { fill: '#d799ae' } },
node: { color: { fill: '#a61d4c' },
label: { color: '#871b47' } }}"))
plot(Sankey)
set.seed(123)
datHist = data.frame(A = rpois(100, 20), B = rpois(100, 5), C = rpois(100, 50))
Hist <- gvisHistogram(datHist, options = list(legend = "{ position: 'top', maxLines: 1 }",
colors = "['#5C3292', '#1A8763', '#871B47']", width = 500, height = 360))
plot(Hist)
Cal <- gvisCalendar(Cairo, datevar = "Date", numvar = "Temp", options = list(title = "Daily temperature in Cairo",
height = 320, colorAxis = "{colors: ['lightblue', 'pink']}", calendar = "{yearLabel: { fontName: 'Times-Roman',
fontSize: 32, color: '#1A8763', bold: true},
cellSize: 10,
cellColor: { stroke: 'red', strokeOpacity: 0.2 },
focusedCellColor: {stroke:'red'}}"))
plot(Cal)
datTL <- data.frame(Position = c(rep("President", 3), rep("Vice", 3)), Name = c("Washington",
"Adams", "Jefferson", "Adams", "Jefferson", "Burr"), start = as.Date(x = rep(c("1789-03-29",
"1797-02-03", "1801-02-03"), 2)), end = as.Date(x = rep(c("1797-02-03",
"1801-02-03", "1809-02-03"), 2)))
Timeline <- gvisTimeline(data = datTL, rowlabel = "Name", barlabel = "Position",
start = "start", end = "end", options = list(timeline = "{groupByRowLabel:false}",
backgroundColor = "#ffd", height = 350, colors = "['#cbb69d', '#603913', '#c69c6e']"))
plot(Timeline)
G <- gvisGeoChart(Exports, "Country", "Profit", options = list(width = 300,
height = 300))
T <- gvisTable(Exports, options = list(width = 220, height = 300))
GT <- gvisMerge(G, T, horizontal = TRUE)
plot(GT)
|
|
|
require a flash player to load properly. If charts are not displaying in your web-browser, manage your flash exceptions to allow the page to display interactive charts.
Motion = gvisMotionChart(Fruits, idvar = "Fruit", timevar = "Year")
plot(Motion)
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.
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}
"
M <- gvisMotionChart(Fruits, "Fruit", "Year", options = list(state = myStateSettings))
plot(M)
AndrewGeo <- gvisGeoMap(Andrew, locationvar = "LatLong", numvar = "Speed_kt",
hovervar = "Category", options = list(height = 350, region = "US", dataMode = "markers"))
## Warning in gvisGeoMap(Andrew, locationvar = "LatLong", numvar = "Speed_kt", : GeoMap (gvisGeoMap) is Flash based, conisder using GeoChart (gvisGeoChart) instead.
## For more details visit: goo.gl/tkiEV8
plot(AndrewGeo)
AnnoTimeLine <- gvisAnnotatedTimeLine(Stock, datevar = "Date", numvar = "Value",
idvar = "Device", titlevar = "Title", annotationvar = "Annotation", options = list(displayAnnotations = TRUE,
width = "600px", height = "350px"))
## Warning in gvisAnnotatedTimeLine(Stock, datevar = "Date", numvar = "Value", : AnnotatedTimeline (gvisAnnotatedTimeLine) is Flash based, conisder using AnnotationChart (gvisAnnotationChart) instead.
## For more details visit: goo.gl/tkiEV8
plot(AnnoTimeLine)
And there you have it! Remember to use the gogleVis documentation (type “?googleVis” or ? and any particular functions in your R console to get the full list of options for each chart)