我有4个传单对象:A,B,C,D。我想将它们绘制在2 x 2的网格中,但是我一直很难做到这一点。
我最初的想法是使用ggplot和facet_grid,但是ggplot不知道如何处理类传单的对象。
我将不胜感激!
最佳答案
传单(或任何其他htmlwidgets)可以与htmltools::tagList
结合使用。
在这种情况下,一个简单的html table
可以处理布局:
library(htmltools)
leaflet_grid <-
tagList(
tags$table(width = "100%",
tags$tr(
tags$td(A),
tags$td(B)
),
tags$tr(
tags$td(C),
tags$td(D)
)
)
)
您可以直接将
leaflet_grid
放在knitr块中,也可以使用browsable(leaflet_grid)
从控制台渲染它。
使用 Shiny 流畅的页面布局
具有光泽的流体页面布局功能的示例:
library(shiny)
leaflet_grid_2 <- fluidPage(
fluidRow(
column(6, A), column(6, B)
),
fluidRow(
column(6, C), column(6, D)
)
)
使用mapview
library(mapview)
要同步所有面板上的缩放,请使用
sync
:sync(A, B, C, D)
并且
latticeView
将创建面板而不同步latticeView(A, B, C, D)
(请参阅https://r-spatial.github.io/mapview/articles/articles/mapview_05-extras.html)
关于r - 网格中的多个传单,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45175040/