-
Notifications
You must be signed in to change notification settings - Fork 622
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Top and Bottom plots seem to have less spacing when using subplot
in plotly
#2378
Comments
Hello, I had the same problem and used this work around that may help people looking at this issue. margin <- c(0.05, # left
0.05, # right
0.05, # top
0.05) # bottom
heights = rep(1/numberOfRows, numberOfRows)
heights[1] <- heights[1] - margin[3]
heights[numberOfRows] <- heights[numberOfRows] - margin[4]
# heights <- heights + sum(margin[3:4]) / numberOfRows
numberOfCols <- ceiling(length(plotList) / numberOfRows)
widths = rep(1/numberOfCols, numberOfCols)
widths[1] <- widths[1] - margin[1]
widths[numberOfCols] <- widths[numberOfCols] - margin[2]
widths <- widths + sum(margin[1:2]) / numberOfCols
# display all plots together using subplot
subplot(plotList, nrows = numberOfRows, margin = margin, heights = heights, widths = widths, titleX = TRUE, titleY = TRUE)
I think the plots on the 1st and last row have more spaces than the other (cf. subplots.R) because the corresponding margins are not removed from their start/end coordinates. The suggested workaround will remove the margins spaces from their default allocated heights so all plots can have the same apparent size. However doing that will lead to a total heights < 1 and in this case, the plots are centered So we end up with blank spaces at the top/bottom/left/right (it more or less force the top/left and bottom/right margins to the fist and last plots). This could be fine but to avoid that, the workaround add back the missing space evenly to all the plots (with your example, it works for the columns width but not for the rows heights, where this issue #2377 seems to occur...). The workaround is not perfect though, especially if the margins are bigger than Best regards, |
Description:
When attempting to display multiple histograms using
subplot
from theplotly
package, the plots in the top row and bottom row appear with less spacing, making them difficult to analyze. This issue is primarily reproducible when there are large number of visualizations to plot together.Here is a minimal reprex for the same:
Expected Behavior:
Each histogram should have equal margins, with appropriate spacing and labels visible.
Screenshots
The text was updated successfully, but these errors were encountered: