Add trace(s) to a plotly visualization
Usage
add_trace(p, ..., data = NULL, inherit = TRUE)
add_markers(p, x = NULL, y = NULL, z = NULL, ..., data = NULL, inherit = TRUE)
add_text(
p,
x = NULL,
y = NULL,
z = NULL,
text = NULL,
...,
data = NULL,
inherit = TRUE
)
add_paths(p, x = NULL, y = NULL, z = NULL, ..., data = NULL, inherit = TRUE)
add_lines(p, x = NULL, y = NULL, z = NULL, ..., data = NULL, inherit = TRUE)
add_segments(
p,
x = NULL,
y = NULL,
xend = NULL,
yend = NULL,
...,
data = NULL,
inherit = TRUE
)
add_polygons(p, x = NULL, y = NULL, ..., data = NULL, inherit = TRUE)
add_sf(p, ..., x = ~x, y = ~y, data = NULL, inherit = TRUE)
add_table(p, ..., rownames = TRUE, data = NULL, inherit = TRUE)
add_ribbons(
p,
x = NULL,
ymin = NULL,
ymax = NULL,
...,
data = NULL,
inherit = TRUE
)
add_image(p, z = NULL, colormodel = NULL, ..., data = NULL, inherit = TRUE)
add_area(p, r = NULL, theta = NULL, t = NULL, ..., data = NULL, inherit = TRUE)
add_pie(p, values = NULL, labels = NULL, ..., data = NULL, inherit = TRUE)
add_bars(p, x = NULL, y = NULL, ..., data = NULL, inherit = TRUE)
add_histogram(p, x = NULL, y = NULL, ..., data = NULL, inherit = TRUE)
add_histogram2d(
p,
x = NULL,
y = NULL,
z = NULL,
...,
data = NULL,
inherit = TRUE
)
add_histogram2dcontour(
p,
x = NULL,
y = NULL,
z = NULL,
...,
data = NULL,
inherit = TRUE
)
add_heatmap(p, x = NULL, y = NULL, z = NULL, ..., data = NULL, inherit = TRUE)
add_contour(p, z = NULL, ..., data = NULL, inherit = TRUE)
add_boxplot(p, x = NULL, y = NULL, ..., data = NULL, inherit = TRUE)
add_surface(p, z = NULL, ..., data = NULL, inherit = TRUE)
add_mesh(p, x = NULL, y = NULL, z = NULL, ..., data = NULL, inherit = TRUE)
add_scattergeo(p, ...)
add_choropleth(p, z = NULL, ..., data = NULL, inherit = TRUE)Arguments
- p
a plotly object
- ...
Arguments (i.e., attributes) passed along to the trace
type. Seeschema()for a list of acceptable attributes for a given tracetype(by going totraces->type->attributes). Note that attributes provided at this level may override other arguments (e.g.plot_ly(x = 1:10, y = 1:10, color = I("red"), marker = list(color = "blue"))).- data
A data frame (optional) or crosstalk::SharedData object.
- inherit
inherit attributes from
plot_ly()?- x
the x variable.
- y
the y variable.
- z
a numeric matrix (unless
add_image(), which wants a raster object, seeas.raster()).- text
textual labels.
- xend
"final" x position (in this context, x represents "start")
- yend
"final" y position (in this context, y represents "start")
- rownames
whether or not to display the rownames of
data.- ymin
a variable used to define the lower boundary of a polygon.
- ymax
a variable used to define the upper boundary of a polygon.
- colormodel
Sets the colormodel for image traces if
zis not a raster object. Ifzis a raster object (seeas.raster()), the'rgba'colormodel is always used.- r
Sets the radial coordinates.
- theta
Sets the angular coordinates.
- t
Deprecated. Use
thetainstead.- values
the value to associated with each slice of the pie.
- labels
the labels (categories) corresponding to
values.
Examples
# the `plot_ly()` function initiates an object, and if no trace type
# is specified, it sets a sensible default
p <- plot_ly(economics, x = ~date, y = ~uempmed)
p
# some `add_*()` functions are a specific case of a trace type
# for example, `add_markers()` is a scatter trace with mode of markers
add_markers(p)
# scatter trace with mode of text
add_text(p, text = "%")
# scatter trace with mode of lines
add_paths(p)
# like `add_paths()`, but ensures points are connected according to `x`
add_lines(p)
# if you prefer to work with plotly.js more directly, can always
# use `add_trace()` and specify the type yourself
add_trace(p, type = "scatter", mode = "markers+lines")
# mappings provided to `plot_ly()` are "global", but can be overwritten
plot_ly(economics, x = ~date, y = ~uempmed, color = I("red"), showlegend = FALSE) %>%
add_lines() %>%
add_markers(color = ~pop)
# a number of `add_*()` functions are special cases of the scatter trace
plot_ly(economics, x = ~date) %>%
add_ribbons(ymin = ~pce - 1e3, ymax = ~pce + 1e3)
# use `group_by()` (or `group2NA()`) to apply visual mapping
# once per group (e.g. one line per group)
txhousing %>%
group_by(city) %>%
plot_ly(x = ~date, y = ~median) %>%
add_lines(color = I("black"))
if (FALSE) { # \dontrun{
# use `add_sf()` or `add_polygons()` to create geo-spatial maps
# http://blog.cpsievert.me/2018/03/30/visualizing-geo-spatial-data-with-sf-and-plotly/
if (requireNamespace("sf", quietly = TRUE)) {
nc <- sf::st_read(system.file("shape/nc.shp", package = "sf"), quiet = TRUE)
plot_ly() %>% add_sf(data = nc)
}
# univariate summary statistics
plot_ly(mtcars, x = ~factor(vs), y = ~mpg) %>%
add_boxplot()
plot_ly(mtcars, x = ~factor(vs), y = ~mpg) %>%
add_trace(type = "violin")
# `add_histogram()` does binning for you...
mtcars %>%
plot_ly(x = ~factor(vs)) %>%
add_histogram()
# ...but you can 'pre-compute' bar heights in R
mtcars %>%
dplyr::count(vs) %>%
plot_ly(x = ~vs, y = ~n) %>%
add_bars()
# the 2d analogy of add_histogram() is add_histogram2d()/add_histogram2dcontour()
library(MASS)
(p <- plot_ly(geyser, x = ~waiting, y = ~duration))
add_histogram2d(p)
add_histogram2dcontour(p)
# the 2d analogy of add_bars() is add_heatmap()/add_contour()
# (i.e., bin counts must be pre-specified)
den <- kde2d(geyser$waiting, geyser$duration)
p <- plot_ly(x = den$x, y = den$y, z = den$z)
add_heatmap(p)
add_contour(p)
# `add_table()` makes it easy to map a data frame to the table trace type
plot_ly(economics) %>%
add_table()
# pie charts!
ds <- data.frame(labels = c("A", "B", "C"), values = c(10, 40, 60))
plot_ly(ds, labels = ~labels, values = ~values) %>%
add_pie() %>%
layout(title = "Basic Pie Chart using Plotly")
data(wind)
plot_ly(wind, r = ~r, theta = ~t) %>%
add_area(color = ~nms) %>%
layout(
polar = list(
radialaxis = list(ticksuffix = "%"),
angularaxis = list(rotation = 90)
)
)
# ------------------------------------------------------------
# 3D chart types
# ------------------------------------------------------------
plot_ly(z = ~volcano) %>%
add_surface()
plot_ly(x = c(0, 0, 1), y = c(0, 1, 0), z = c(0, 0, 0)) %>%
add_mesh()
} # }