knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) library(echarts4r) library(quantmod) e_common( font_family = "Raleway" ) getSymbols("GS") #Goldman Sachs GS <- as.data.frame(GS) GS$date <- row.names(GS)
This document include the standard chart types only.
library(echarts4r) df <- data.frame( x = seq(50), y = rnorm(50, 10, 3), z = rnorm(50, 11, 2), w = rnorm(50, 9, 2) ) df |> e_charts(x) |> e_line(z) |> e_area(w) |> e_title("Line and area charts")
df |> e_charts(x) |> e_bar(y, name = "Serie 1") |> e_step(z, name = "Serie 2") |> e_title("Bar and step charts")
df |> e_charts(x) |> e_scatter(y, z) |> e_visual_map(z, scale = e_scale) |> # scale color e_legend(FALSE) # hide legend
df |> head(10) |> e_charts(x) |> e_effect_scatter(y, z) |> e_visual_map(z) |> # scale color e_legend(FALSE) # hide legend
df |> e_charts(x) |> e_polar() |> e_angle_axis(x) |> # angle = x e_radius_axis() |> e_bar(y, coord_system = "polar") |> e_scatter(z, coord_system = "polar")
df |> head(10) |> e_charts(x) |> e_polar() |> e_angle_axis() |> e_radius_axis(x) |> e_bar(y, coord_system = "polar") |> e_scatter(z, coord_system = "polar")
library(quantmod) getSymbols("GS") #Goldman Sachs GS <- as.data.frame(GS) GS$date <- row.names(GS)
GS |> e_charts(date) |> e_candle(GS.Open, GS.Close, GS.Low, GS.High, name = "Goldman Sachs") |> e_datazoom(type = "slider") |> e_title("Candlestick chart", "Quantmod data")
funnel <- data.frame(stage = c("View", "Click", "Purchase"), value = c(80, 30, 20)) funnel |> e_charts() |> e_funnel(value, stage) |> e_title("Funnel")
sankey <- data.frame( source = c("a", "b", "c", "d", "c"), target = c("b", "c", "d", "e", "e"), value = ceiling(rnorm(5, 10, 1)), stringsAsFactors = FALSE ) sankey |> e_charts() |> e_sankey(source, target, value) |> e_title("Sankey chart")
v <- LETTERS[1:10] matrix <- data.frame( x = sample(v, 300, replace = TRUE), y = sample(v, 300, replace = TRUE), z = rnorm(300, 10, 1), stringsAsFactors = FALSE ) |> dplyr::group_by(x, y) |> dplyr::summarise(z = sum(z)) |> dplyr::ungroup() matrix |> e_charts(x) |> e_heatmap(y, z) |> e_visual_map(z) |> e_title("Heatmap")
df <- data.frame( price = rnorm(5, 10), amount = rnorm(5, 15), letter = LETTERS[1:5] ) df |> e_charts() |> e_parallel(price, amount, letter) |> e_title("Parallel chart")
mtcars |> head() |> tibble::rownames_to_column("model") |> e_charts(model) |> e_pie(carb) |> e_title("Pie chart")
mtcars |> head() |> tibble::rownames_to_column("model") |> e_charts(model) |> e_pie(carb, radius = c("50%", "70%")) |> e_title("Donut chart")
mtcars |> head() |> tibble::rownames_to_column("model") |> e_charts(model) |> e_pie(hp, roseType = "radius")
df <- data.frame( parents = c("","earth", "earth", "mars", "mars", "land", "land", "ocean", "ocean", "fish", "fish", "Everything", "Everything", "Everything"), labels = c("Everything", "land", "ocean", "valley", "crater", "forest", "river", "kelp", "fish", "shark", "tuna", "venus","earth", "mars"), value = c(0, 30, 40, 10, 10, 20, 10, 20, 20, 8, 12, 10, 70, 20) ) # create a tree object universe <- data.tree::FromDataFrameNetwork(df) # use it in echarts4r universe |> e_charts() |> e_sunburst()
library(tibble) tree <- tibble( name = "earth", # 1st level children = list( tibble(name = c("land", "ocean"), # 2nd level children = list( tibble(name = c("forest", "river")), # 3rd level tibble(name = c("fish", "kelp"), children = list( tibble(name = c("shark", "tuna")), # 4th level NULL # kelp ) ) )) ) ) tree |> e_charts() |> e_tree() |> e_title("Tree graph")
universe |> e_charts() |> e_treemap() |> e_title("Treemap chart")
dates <- seq.Date(Sys.Date() - 30, Sys.Date(), by = "day") river <- data.frame( dates = dates, apples = runif(length(dates)), bananas = runif(length(dates)), pears = runif(length(dates)) ) river |> e_charts(dates) |> e_river(apples) |> e_river(bananas) |> e_river(pears) |> e_tooltip(trigger = "axis") |> e_title("River charts", "(Streamgraphs)")
dates <- seq.Date(as.Date("2017-01-01"), as.Date("2018-12-31"), by = "day") values <- rnorm(length(dates), 20, 6) year <- data.frame(date = dates, values = values) year |> e_charts(date) |> e_calendar(range = "2018") |> e_heatmap(values, coord_system = "calendar") |> e_visual_map(max = 30) |> e_title("Calendar", "Heatmap")
For multiple years, lay multiple calendars, group by year.
year |> dplyr::mutate(year = format(date, "%Y")) |> # get year from date group_by(year) |> e_charts(date) |> e_calendar(range = "2017",top="40") |> e_calendar(range = "2018",top="260") |> e_heatmap(values, coord_system = "calendar") |> e_visual_map(max = 30) |> e_title("Calendar", "Heatmap")|> e_tooltip("item")
e_charts() |> e_gauge(41, "PERCENT") |> e_title("Gauge")
df <- data.frame( x = LETTERS[1:5], y = runif(5, 1, 5), z = runif(5, 3, 7) ) df |> e_charts(x) |> e_radar(y, max = 7, name = "radar") |> e_radar(z, max = 7, name = "chart") |> e_tooltip(trigger = "item")
words <- function(n = 5000) { a <- do.call(paste0, replicate(5, sample(LETTERS, n, TRUE), FALSE)) paste0(a, sprintf("%04d", sample(9999, n, TRUE)), sample(LETTERS, n, TRUE)) } tf <- data.frame(terms = words(100), freq = rnorm(100, 55, 10)) |> dplyr::arrange(-freq) tf |> e_color_range(freq, color) |> e_charts() |> e_cloud(terms, freq, color, shape = "circle", sizeRange = c(3, 15)) |> e_title("Wordcloud", "Random strings")
liquid <- data.frame(val = c(0.6, 0.5, 0.4)) liquid |> e_charts() |> e_liquid(val)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.