Modify trace(s) of an existing plotly visualization. Useful when used in conjunction with get_figure().

style(p, ..., traces = NULL)

Arguments

p

A plotly visualization.

...

Visual properties.

traces

numeric vector. Which traces should be modified? By default, attributes place in ... will be applied to every trace.

Author

Carson Sievert

Examples


# style() is especially useful in conjunction with ggplotly()
# It allows you to leverage the underlying plotly.js library to change 
# the return result of ggplotly()
(p <- ggplotly(qplot(data = mtcars, wt, mpg, geom = c("point", "smooth"))))
#> Warning: `qplot()` was deprecated in ggplot2 3.4.0.
#> `geom_smooth()` using method = 'loess' and formula = 'y ~ x'
# removes hoverinfo for the line/ribbon traces (use `plotly_json()` to verify!) style(p, hoverinfo = "none", traces = c(2, 3))
# another example with plot_ly() instead of ggplotly() marker <- list( color = "red", line = list( width = 20, color = "black" ) ) (p <- plot_ly(x = 1:10, y = 1:10, marker = marker))
# note how the entire (marker) object is replaced if a list is provided style(p, marker = list(line = list(color = "blue"))) #> No trace type specified: #> Based on info supplied, a 'scatter' trace seems appropriate. #> Read more about this trace type -> https://plotly.com/r/reference/#scatter #> No scatter mode specifed: #> Setting the mode to markers #> Read more about this attribute -> https://plotly.com/r/reference/#scatter-mode
# similar to plotly.js, you can update a particular attribute like so # https://github.com/plotly/plotly.js/issues/1866#issuecomment-314115744 style(p, marker.line.color = "blue") #> No trace type specified: #> Based on info supplied, a 'scatter' trace seems appropriate. #> Read more about this trace type -> https://plotly.com/r/reference/#scatter #> No scatter mode specifed: #> Setting the mode to markers #> Read more about this attribute -> https://plotly.com/r/reference/#scatter-mode
# this clobbers the previously supplied marker.line.color style(p, marker.line = list(width = 2.5), marker.size = 10) #> No trace type specified: #> Based on info supplied, a 'scatter' trace seems appropriate. #> Read more about this trace type -> https://plotly.com/r/reference/#scatter #> No scatter mode specifed: #> Setting the mode to markers #> Read more about this attribute -> https://plotly.com/r/reference/#scatter-mode