Skip to contents

Add 3D scatter.

Usage

e_scatter_3d(
  e,
  y,
  z,
  color,
  size,
  bind,
  coord_system = "cartesian3D",
  name = NULL,
  rm_x = TRUE,
  rm_y = TRUE,
  legend = FALSE,
  ...
)

e_scatter_3d_(
  e,
  y,
  z,
  color = NULL,
  size = NULL,
  bind = NULL,
  coord_system = "cartesian3D",
  name = NULL,
  rm_x = TRUE,
  rm_y = TRUE,
  legend = FALSE,
  ...
)

Arguments

e

An echarts4r object as returned by e_charts or a proxy as returned by echarts4rProxy.

y, z

Coordinates.

color, size

Color and Size of bubbles.

bind

Binding.

coord_system

Coordinate system to use, one of geo3D, globe, or cartesian3D.

name

name of the serie.

rm_x, rm_y

Whether to remove x and y axis, defaults to TRUE.

legend

Whether to add serie to legend.

...

Any other option to pass, check See Also section.

Examples

v <- LETTERS[1:10]
matrix <- data.frame(
  x = sample(v, 300, replace = TRUE),
  y = sample(v, 300, replace = TRUE),
  z = rnorm(300, 10, 1),
  color = rnorm(300, 10, 1),
  size = rnorm(300, 10, 1),
  stringsAsFactors = FALSE
) |>
  dplyr::group_by(x, y) |>
  dplyr::summarise(
    z = sum(z),
    color = sum(color),
    size = sum(size)
  ) |>
  dplyr::ungroup()
#> `summarise()` has grouped output by 'x'. You can override using the `.groups`
#> argument.

matrix |>
  e_charts(x) |>
  e_scatter_3d(y, z, size, color) |>
  e_visual_map(
    min = 1,
    max = 100,
    inRange = list(symbolSize = c(1, 30)),
    # scale size
    dimension = 3 # third dimension 0 = x, y = 1, z = 2, size = 3
  ) |>
  e_visual_map(
    min = 1,
    max = 100,
    inRange = list(color = c("#bf444c", "#d88273", "#f6efa6")),
    # scale colors
    dimension = 4,
    # third dimension 0 = x, y = 1, z = 2, size = 3, color = 4
    bottom = 300 # padding to avoid visual maps overlap
  )
airports <- read.csv( paste0( "https://raw.githubusercontent.com/plotly/datasets/", "master/2011_february_us_airport_traffic.csv" ) ) airports |> e_charts(long) |> e_globe( globeOuterRadius = 100 ) |> e_scatter_3d(lat, cnt, coord_system = "globe", blendMode = "lighter") |> e_visual_map(inRange = list(symbolSize = c(1, 10))) #> `base_texture` is `NULL`, see echarts4r-assets.john-coene.com
# timeline airports |> group_by(state) |> e_charts(long, timeline = TRUE) |> e_globe( globeOuterRadius = 100 ) |> e_scatter_3d(lat, cnt, coord_system = "globe", blendMode = "lighter") |> e_visual_map(inRange = list(symbolSize = c(1, 10))) #> `base_texture` is `NULL`, see echarts4r-assets.john-coene.com