knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) library(dplyr) library(echarts4r) e_common( font_family = "Raleway" )
You can mark points, lines and areas on your chart to emphasise certain things.
You mark things by passing a list
to the data
argument, this list can be of many different format, see the official documentation.
One of the format is to pass a type
:
min
max
avg
max <- list( name = "Max", type = "max" ) min <- list( name = "Min", type = "min" ) avg <- list( type = "average", name = "AVG" )
By default e_mark_*
is applied to all series.
iris |> group_by(Species) |> e_charts(Sepal.Length) |> e_line(Sepal.Width) |> e_mark_point(data = max) |> e_mark_point(data = min) |> e_mark_point(data = avg)
But you can specify one or more serie it should apply apply to.
iris |> group_by(Species) |> e_charts(Sepal.Length) |> e_line(Sepal.Width) |> e_mark_point(serie = "setosa", data = max) |> e_mark_point(serie = c("virginica", "setosa"), data = min) |> e_mark_point(serie = c("virginica", "versicolor"), data = avg)
library(dplyr) # get a random point ( point <- iris |> filter(Species == "setosa") |> sample_n(1) |> select( xAxis = Sepal.Length, yAxis = Sepal.Width, value = Petal.Width ) |> as.list() ) iris |> group_by(Species) |> e_charts(Sepal.Length) |> e_line(Sepal.Width) |> e_mark_point(serie = "setosa", data = point) |> e_x_axis(min = 4)
iris |> group_by(Species) |> e_charts(Sepal.Length) |> e_line(Sepal.Width) |> e_mark_point(data = avg) |> e_x_axis(min = 4)
Horizontally.
iris |> group_by(Species) |> e_charts(Sepal.Length) |> e_line(Sepal.Width) |> e_mark_line(data = avg) |> e_x_axis(min = 4)
Vertically.
cars |> e_charts(speed) |> e_scatter(dist, symbol_size = 5) |> e_legend(FALSE) |> e_mark_line(data = list(xAxis = 7), title = "Tortoise") |> e_mark_line(data = list(xAxis = 12), title = "Speed Limit") |> e_mark_line(data = list(xAxis = 22), title = "Need for Speed")
iris |> group_by(Species) |> e_charts(Sepal.Length) |> e_line(Sepal.Width) |> e_mark_area( data = list( list(xAxis = "min", yAxis = "min"), list(xAxis = "max", yAxis = "max") ) ) |> e_x_axis(min = 4)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.