Basic 2D Histogram
2D histograms require
y, but in contrast to heatmaps,
z is optional. If
z is not provided, binning occurs in the browser (see here for a list of binning options).
# install.packages('mvtnorm') library(plotly) s <- matrix(c(1, -.75, -.75, 1), ncol = 2) obs <- mvtnorm::rmvnorm(500, sigma = s) fig <- plot_ly(x = obs[,1], y = obs[,2]) fig2 <- subplot( fig %>% add_markers(alpha = 0.2), fig %>% add_histogram2d() ) fig2
z is not provided, the only way to control coloring is through the colorscale attribute
fig <- fig %>% add_histogram2d(colorscale = "Blues") fig
If you want more control for the binning algorithm, you can supply a 2D table or matrix to
z. In this case, the R package will impose it's colorscale default (and the
colors argument can be used to control the colorscale from R):
cnt <- with(diamonds, table(cut, clarity)) fig <- plot_ly(diamonds, x = ~cut, y = ~clarity, z = ~cnt) fig <- fig %>% add_histogram2d() fig
What About Dash?
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)