R plotly子图在图之间添加空间

时间:2018-11-27 16:42:47

标签: r plotly spacing subplot r-plotly

我想在地块之间添加空间,但是当我玩边距游戏时,它要么重叠,要么切割。 这是代码:

library(plotly)

plotList <- function(nplots) {
  lapply(seq_len(nplots), function(x) plot_ly())
}
s1 <- subplot(plotList(6), nrows = 2, shareX = TRUE, shareY = TRUE)
s2 <- subplot(plotList(2), shareY = TRUE)
p <- subplot(s1, s2, plot_ly(), nrows = 3, margin = 0.04, heights = c(0.6, 0.3, 0.1))

print(p)

我得到这个:

enter image description here

鉴于此,我希望这样的东西(用油漆完成的图像)​​在不同子图之间具有更大的间距:

enter image description here

我应该怎么做?

2 个答案:

答案 0 :(得分:2)

我也面临着同样的问题,但是幸运的是,我找到了解决方案。您可以使用 margin 作为Subplot函数中的参数,如下所示:

subplot(plot1,
        plot2,
        nrows = 2,
        margin = 0.07)

根据Plotly文档,您只能为每个边距定义一个或四个值,并且这些值应介于0和1之间。如果仅提供一个值,则将用于所有四个边距,或者如果提供四个,值将按以下顺序使用:第一个是左边缘,第二个是右边缘,第三个是顶部边缘,最后一个是底部边缘。您可以试玩并定义更适合您要创建的布局的值。

答案 1 :(得分:-1)

我通过在正常图之间插入空白图找到了解决方案。但是,它有点尴尬,但是可以正常工作,我发现没有什么比这更好的了

blankplot<-plot_ly()%>%
  layout(xaxis=list(visible="FALSE",color="white",tickfont =list(color="white")),
         yaxis=list(visible="FALSE",color="white",tickfont =list(color="white")))