Nothing
library(ggvis)
# Bar graph with continuous x, and y value supplied in the data
pressure %>% ggvis(x = ~temperature, y = ~pressure) %>%
layer_bars()
# Categorical x, and y var supplied
pressure %>% ggvis(~factor(temperature), ~pressure) %>% layer_bars()
# No y var, and continuous x: bar graph of counts
mtcars %>% ggvis(x = ~cyl) %>% layer_bars()
# Notice how it differs from a histogram: a histogram has bins that span
# ranges of x, but layer_bars shows the count at each unique x value.
mtcars %>% ggvis(~wt) %>% layer_histograms()
mtcars %>% ggvis(~wt) %>% layer_bars()
# No y var, and categorical x: bar graph of counts at each x value
mtcars %>% ggvis(~factor(cyl)) %>% layer_bars()
# Hair and eye color data
hec <- as.data.frame(xtabs(Freq ~ Hair + Eye, HairEyeColor))
# Without stacking - bars overlap
hec %>% group_by(Eye) %>%
ggvis(x = ~Hair, y = ~Freq, fill = ~Eye, fillOpacity := 0.5) %>%
layer_bars(stack = FALSE) %>%
scale_nominal("fill",
domain = c("Brown", "Blue", "Hazel", "Green"),
range = c("#995522", "#88CCFF", "#999933", "#00CC00"))
# With stacking
hec %>% group_by(Eye) %>%
ggvis(x = ~Hair, y = ~Freq, fill = ~Eye, fillOpacity := 0.5) %>%
layer_bars() %>%
scale_nominal("fill",
domain = c("Brown", "Blue", "Hazel", "Green"),
range = c("#995522", "#88CCFF", "#999933", "#00CC00"))
# Stacking in x direction instead of default y - need to be explicit about
# all the steps
hec %>% group_by(Eye) %>%
ggvis(y = ~Hair, fill = ~Eye, fillOpacity := 0.5) %>%
compute_stack(stack_var = ~Freq, group_var = ~Hair) %>%
layer_rects(x = ~stack_lwr_, x2 = ~stack_upr_, height = band()) %>%
scale_nominal("y", range = "height", padding = 0, points = FALSE) %>%
scale_nominal("fill",
domain = c("Brown", "Blue", "Hazel", "Green"),
range = c("#995522", "#88CCFF", "#999933", "#00CC00"))
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.