subplot() doesn't account for dual axes
I think there is something wrong with the subplot function when there is yaxis2
I tried to use subplot with 2 plots that have yaxis2. Each plot looks like this:

foo_plot <- function(n) {
x <- rnorm(n)
den <- density(x)
p <- plot_ly()
p <- add_trace(p, x=x, type="histogram", name="Histogram",
marker=list(line=list(color="#000", width=1), color="#555"))
p <- add_trace(p, x=den$x, y=den$y, yaxis="y2", name="Density",
type="scatter", mode="lines", line=list(color="#222"))
p <- layout(p,
yaxis2=list(overlaying="y", side="right", rangemode="nonnegative",
showgrid=F, showline=T, ticks="outside"),
yaxis=list(showline=T, ticks="outside"))
return(p)
}
p <- subplot(foo_plot(1000), foo_plot(1000), nrows=2, shareX=F, shareY=F)
The density curves were missing when I merge the two plots.

This is the result of sessionInfo()

try this https://github.com/plotly/plotly.R/issues/954#issuecomment-453872899
We got tripped by this bug as well, and I think I found a way to solve the problem.
Internally, subplot translates names of all Y axes in all the subplots to unique names. Unfortunately, the "overlaying" parameter is not getting mapped. That is equivalent to reconfiguring your plots arbitrarily, which causes issues. The workaround of manually guessing the y axis rename and setting "overlaying" parameter to the end result works, but frankly, this is insane and we can do better. I will submit a PR, but I am not familiar with this project that much, so I'll need someone to thoroughly review it.
I reran the original reprex with my bugfix, obtaining this:
I believe that is the desired output (modulo some bad spacing with the legend).