plotly 4.7.0 now on CRAN

I’m super excited about plotly 4.7.0 – it includes numerous improvements and new features related to performance, mapping, and API requests. It also includes support for something folks have wanted for a very long time – fixed coordinates via ggplotly()! In other words, if you use coord_equal(), coord_fixed(), etc to specify a ratio between the visual represntation of data units on positional axes (a key property of maps) in ggplot2, it should just workTM when converted via ggplotly()! It also has support for the stellar new geom_sf() – an official ggplot2 geom that is so new, it is currently only available through the development version of ggplot2. For this and other reasons, I recommend using the development version of ggplot2 if you can:

Updating to 4.7.0 may also yield big speed improvements at print time, especially when plotting a large number of lines, paths, or polygons in a single trace. For a bit of context, this fairly simple example with 46 lines now takes a third of the time to print (about 1 instead of 3 seconds).

1

2

3

plot_ly(txhousing)%>%

group_by(city)%>%

add_lines(x=~date,y=~median)

The speed-up is a direct result of making (the previously internal, but now exported) function group2NA() much more efficient (huge thanks to Matt Summersgill for the help here). This function is used on any ggplot2 geom which can be reduced to a path or a polygon, so the impact should be large and widespread! This improvement was made possible through the new data.table dependency, which I hope to leverage more down the road to make other plots faster to print.

This release also updates the plotly.js version from 1.26.1 to 1.27.1, so you can leverage the latest plotly.js features, such as parallel coordinates and Sankey diagrams. Numerous other improvements and bug fixes (especially for api_create()) are coming with this release, please see the NEWS file for more info.