Inset Plots in R
How to make an inset plot in R with Plotly
Plotly Studio: Transform any dataset into an interactive data application in minutes with AI. Try Plotly Studio now.
Basic Inset
See also the chapter on subplots in the plotly book
library(plotly)
fig <- plotly::plot_ly()
fig <- plotly::add_trace(fig, x = c(1, 2, 3), y = c(4, 3, 2), mode='lines')
fig <- plotly::add_trace(fig, x = c(20, 30, 40), y = c(30, 40, 50), xaxis='x2', yaxis='y2', mode='lines')
fig <- plotly::layout(fig, xaxis2 = list(domain = c(0.6, 0.95), anchor='y2'),
yaxis2 = list(domain = c(0.6, 0.95), anchor='x2'))
fig
What About Dash?
Dash for R is an open-source framework for building analytical applications, with no Javascript required, and it is tightly integrated with the Plotly graphing library.
Learn about how to install Dash for R at https://dashr.plot.ly/installation.
Everywhere in this page that you see fig
, you can display the same figure in a Dash for R application by passing it to the figure
argument of the Graph
component from the built-in dashCoreComponents
package like this:
library(plotly)
fig <- plot_ly()
# fig <- fig %>% add_trace( ... )
# fig <- fig %>% layout( ... )
library(dash)
library(dashCoreComponents)
library(dashHtmlComponents)
app <- Dash$new()
app$layout(
htmlDiv(
list(
dccGraph(figure=fig)
)
)
)
app$run_server(debug=TRUE, dev_tools_hot_reload=FALSE)